---- Adam Wuellner <[EMAIL PROTECTED]> wrote:
>
> On 8/4/05, Brian Volk <[EMAIL PROTECTED]> wrote:
> > for now it's back to the drawing board and waiting for that light in my head
> > to go off! :~)
>
> Brian,
>
> I took the last script you posted and re wrote it the way I would have
> gone about it. It doesn't use in-place editing, or @ARGV, because I
> don't quite grasp how to make that work in this situation. Anyway,
> see if it helps... I apologize if there are errors, I couldn't
> quickly think of a way to test it.
>
> #!/usr/bin/perl
>
> use strict;
> use warnings;
> use File::Basename;
> use File::Copy;
>
> my $pdf_dir = "j:/flash_host/ecomm/descriptions/product/MSDS";
> # read file/directory names in that directory into @pdfs
> opendir PDFDIR, $pdf_dir
> or die "Can't opendir $pdf_dir: $!\n";
> my @pdfs = readdir(PDFDIR);
> closedir PDFDIR;
>
> my $text_dir = "c:/brian/descriptions/product/small";
> opendir TEXTDIR, $text_dir
> or die "Can't opendir $text_dir: $!";
> my @txts = map { "$text_dir/$_" } grep { !/^\./ } readdir TEXTDIR;
> closedir TEXTDIR;
>
> my %PDFDIR_LIST;
> $PDFDIR_LIST{$_}=1 for @pdfs;
>
> foreach my $text_file (@txts) {
> my ($basename, $suffix) = fileparse($text_file,'.txt');
> my $link = "descriptions/product/small/$basename.pdf";
>
> if( $PDFDIR_LIST{"$basename.pdf"} ) {
my $out_file = "$textfile.new"; # just missed the underscore
> open INPUT, "< $text_file"
> or die "can't open $text_file: $!";
> open OUTPUT, "> $out_file"
> or die "can't open $out_file: $!";
>
> while (<INPUT>) {
> s% http://.* % $link %; # are you sure you don't need
> the g option?
> print OUTPUT;
> }
> close INPUT; close OUTPUT;
> move( $text_file, "$text_file.bak" );
> move( $out_file, $text_file );
> }
> }
>
> __END__
>
> --
> Adam Wuellner
>
Adam.. you're a saint! +<:-) That work perfectly! I knew I had to use
"foreach" for the $basename to work correctly and I was able to get the
subsitution to work when I used while <> ...I just couldn't figure out how to
incorporate both of them... I DO NOW! Thank you very much!
John and Jay thank you guys as well for teaching me.. I really am learning a
lot!
Brian Volk
--
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]
<http://learn.perl.org/> <http://learn.perl.org/first-response>