I've been having some problems with this little code two major issues.
What I'm tring to do is get Photos off an FTP site:
        I have a text file with about 4000 lines and on each line is an eight digit
number "30635325".  I take all of the is an put it into an array.  Then I
have to change the info to 30635325_0.jpg because on the FTP site that's how
each one of the Photos are saved.  I'm getting weird output here the "." is
not working example of the output "_0.jp 78".  Next assuming it works. I
connect to the FTP site and get a list of what they have.  The fun thing is
that the FTP site has most of the photos I need but they are separated in to
different folders, so the file I need is "30635325_0.jpg" is located in
first folder "30" second folder "635" then the file is "325_0.jpg".  I have
written the code to do this but it take a long time and I wanted to know if
this is the best way to do it.  If any one could please help me it would be
greatly appreciated.

Thanks

#!/usr/local/bin/perl -w
        use strict;

        print "Step 1: Find the $file in $dir.\n";
                chdir($dir) or die "Can't open $dir: $!";

        print "Step 2: Open the $file.\n";
                open(FILE, $file) or die "Can't open $file: $!";
                        @word = <FILE>;
                        chomp @word;
                close(FILE);

        print "Step 3: Clean up our listings.\n";
        #I need to fix the listings from the text file to what they are on the FTP
sit
                @correctedwords = ();
                foreach $item (@word) {
                        if (substr($item,length($item) - 6, length($item)) ne 
"_0.jpg"){
                                $looking_for_listings{$item . "_0.jpg"} = 1;
                        } else {
                                $looking_for_listings{$item} = 1;
                        }
                }
        ################################
        #once I do this I have been getting some funkey out put. "_0.jp 67"
        ################################

        #I need to see if they exist on the ftp site.
        print "Step 4: Start FTP.\n";
                use Net::FTP;
                #... connect to the FTP site.

                $ftp->cwd("$pin_folder")
                        or $ftp->cwd("$pin_folder")
                                or die "Couldn't change to dir $pin_folder. \n$!\n";

        print "Step 5: Get the list they have.\n";
                @first_folder = $ftp->ls()
                        or die "Couldn't get a list of files. $!\n";

                foreach $myfolder (@first_folder) {
                        $ftp->cwd("$myfolder")
                                or die "Did not work $myfolder\n";
                        @second_folder = $ftp->ls()
                                or die "can't get list in $second_folder. \n";
                        foreach $folder2 (@second_folder) {
                                $ftp->cwd("$folder2")
                                        or die "did not work $folder2\n";
                                @files = $ftp->ls()
                                        or die "can't get the list in $folder2";
                                $ftp->cwd("../")
                                        or die "can't get the list in ../";
                                foreach $file (@files) {
                                        if ($looking_for_listings{$myfolder . $folder2 
. $file}) {
                                                $seen{$myfolder . $folder2 . $file} = 
1;
                                        }
                                }
                        }
                        $ftp->cwd("../")
                                or die "can't get the list in ../";
                }

        print "Step 6: print the list they have and we want.\n";
        #I should get about 300 listings but I get nothing!!!!
        for $a ( keys %seen) {
                print "$a=$seen{$a}\n";
        }

$ftp->quit();


Michael Kramer
[EMAIL PROTECTED]



-- 
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to