use strict; use warnings; # We should end up with Flameless-Candles.htm Classic-Cars.htm Apricot-Jelly.htm # Where string ABC123 has been replaced with Flameless Candles in the Flameless-Candles.htm file and ABC123 has been replaced with Classic Cars in the Classic-Cars.htm file etc. while (my $phrase = ) { chomp ($phrase); my $filename = "$phrase.htm"; $filename =~ s/\s+/-/g; if (open(my $infh, '<', $filename)) { if (open(my $outfh, '>', "$filename.out")) { while (<$infh>) { s/ABC123/$phrase/g; print $outfh $_ } close $infh; close $outfh; rename "$filename.out",$filename or warn "Unable to rename $filename.out: $!" } else { warn "Unable to open $filename.out: $!"; close $infh; } } else { warn "Unable to open $filename: $!"; } } __DATA__ Flameless Candles Classic Cars Apricot Jelly