in reply to Help in using two arrays

Quickly, I might not have caught everything

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; }

Update: Actually, that's a bad approach since you have to keep recompiling regexps. Reverse the nesting of your loops:

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

Update: Woops, I was still using $2. Switched to $r.