# Warning, untested code below. for my $j(@templ) { my $k = $j; $k =~ s/^(\w+)\@DOMAIN$/$1\@$i/; print FH $k; } # Or: foreach (@templ) { my $j = $_; $j =~ s/^(\w+)\@DOMAIN$/$1\@$i/; print FH $j; } #### # Warning, untested code below. for (@templ) { /^(\w+)\@DOMAIN$/ and print FH "$1\@$i" or print FH; # implicitly prints $_ as usual } # Or if you prefer "if": for (@templ) { if (/^(\w+)\@DOMAIN$/) { print FH "$1\@$i"; } else { print FH; } }