Подскажите пожалуйста, возможно ли такое и если возможно, то как: foreach (sort @listf) { s/([\d\D]+).[tT][iI][fF]/&pad6($1)/g; print "$_\n"; } То есть мне нужно, чтобы вместо найденного шаблона подставлялся результат вызова функции, принявшей в качестве аргумента этот шаблон. К сожалению, функция не вызывается, а выражение &pad6() воспринимается буквально, только вместо $1 ставится результат поиска. Я понимаю, что могу отдельно все переименовывать, но хотелось сделать красиво.