for my $line (@lines) { for my $replace (@replaces) { my ($s,$r) = $replace =~ /\\replace\t(.+?)\t(.+?)\n/ or next; $line =~ s/\Q$s\E/$r/g; } print $line; } #### for my $replace (@replaces) { my ($s,$r) = $replace =~ /\\replace\t(.+?)\t(.+?)\n/ or next; s/\Q$s\E/$r/g for @lines; } print @lines;