Ok, maybe I'm a sucker for a sob story. This only took me 5 minutes and it is not complete, but does most of what you asked for (even if it is not what you need). It should give you enough hints and pointers to get moving and RTFM:
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 = <DATA>) {
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
Posts are HTML formatted. Put <p> </p> tags around your paragraphs. Put <code> </code> tags around your code and data!
Titles consisting of a single word are discouraged, and in most cases are disallowed outright.
Read Where should I post X? if you're not absolutely sure you're posting in the right place.
Please read these before you post! —
Posts may use any of the Perl Monks Approved HTML tags:
- a, abbr, b, big, blockquote, br, caption, center, col, colgroup, dd, del, details, div, dl, dt, em, font, h1, h2, h3, h4, h5, h6, hr, i, ins, li, ol, p, pre, readmore, small, span, spoiler, strike, strong, sub, summary, sup, table, tbody, td, tfoot, th, thead, tr, tt, u, ul, wbr
You may need to use entities for some characters, as follows. (Exception: Within code tags, you can put the characters literally.)
| |
For: |
|
Use: |
| & | | & |
| < | | < |
| > | | > |
| [ | | [ |
| ] | | ] |
Link using PerlMonks shortcuts! What shortcuts can I use for linking?
See Writeup Formatting Tips and other pages linked from there for more info.