Brian Volk wrote: > Hi all, Hello,
> Can someone pls take a look at the script below and explain what I'm doing > wrong.. The script runs w/out errors but the substitution is not working.. > Hopefully the note below will be enough info.. > > I was able to print the file names that I wanted but once I tried to open > the file and s / / /; the wheels fell off.. :~) > > I think I can open a file this way....? Pls explain what I am doing > wrong.... > Thank you! > --------------------------------- > #!/usr/local/bin/perl > > use strict; > use warnings; > > # dir w/ text files containing text and links > my $dir = "J:/flash_host/ecomm/descriptions/product/small"; > > # a text file that has the file names which contain broken links > my $bad_file = "c:/brian/spartan/bad_links.txt"; > > open BAD, "< $bad_file" or die "Can't read $bad_file: $!\n"; > > # name each record in $bad_file => $file > while (my $file = <BAD>) { > chomp $file; > > if (-e "$dir/$file") { > > # open the text file w/ a bad link and sub "http://..." w/ a local > file > open BADFILE, "> $dir/file" or die "Can't open $dir/$file for replace: > $!\n" && > s & http://.* & descriptions/product/MSDS/$file &; > close BF > } > > } > ----------------------------------- Perl provides some shortcuts to allow you to do what you want: #!/usr/local/bin/perl use strict; use warnings; # dir w/ text files containing text and links my $dir = 'J:/flash_host/ecomm/descriptions/product/small'; # a text file that has the file names which contain broken links my $bad_file = 'c:/brian/spartan/bad_links.txt'; open BAD, '<', $bad_file or die "Can't read $bad_file: $!\n"; # store the files to "edit" in @ARGV @ARGV = map { chomp; "$dir/$_" } <BAD>; # set the in-place edit variable # cannot be '' on Windows $^I = '.bak'; # modify the files and save the originals with .bak extention while ( <> ) { s & http://.* & descriptions/product/MSDS/$file &; print; } __END__ John -- use Perl; program fulfillment -- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] <http://learn.perl.org/> <http://learn.perl.org/first-response>