while ($content =~ m/<\?Function\(\".*?\"\)\?>/g) { $_ = $content; my ($line) = /<\?Function\(\"(.*?)\"\)\?>/; my (@Params) = split(/\"\,\"/,$line); $line = some_param_stuff(@Params); $content =~ s/<\?Function\(\".*?\"\)\?>/$line/; }