For Programmers: Free Programming Magazines  


Home > Archive > PERL Beginners > August 2004 > Re: Net::FTP Help !









You are viewing an archived Text-only version of the thread. To view this thread in it's original format and/or if you want to reply to this thread please [click here]

 

Author Re: Net::FTP Help !
Wiggins D Anconia

2004-08-10, 3:55 am

>
> Hi Guys and Gals ,
>
> I'm new to perl ... Here is my problem ..
>
> I'm connecting fine to the remote computer and logging in fine .. what I
> want to do is a get all files from the remote directory . Here is is a
> snippet of the code
>
> $ftp->cwd($remote_dir)
> or die "cannot change working directory ", $ftp->message;
>
> # show current directory
> $ftp->pwd();
>
>
> @all_files = $ftp->ls();
>
> print @all_files;
>
>
> foreach $file(@all_files) {
>
> $ftp->get($file)
> or die "cannot get file", $ftp->message;
> }
>
>
>
> The problem is that the remote directory has a subdirectory in it so the
> array reads it in @all_files = $ftp->ls; so when I go to do a
> $ftp->get($file) it reads the subdirectory name into it as well so it
> bombs out saying it cannot find file BLAH BLAH ... is there a way to
> read the directory without the subdirectory in there .. just the files I
> want to get .
>
>
>
> Hope this is clear ..
>
>


You can use the 'dir' method to get a long listing, which should include
the permissions string. Then you can step through the list and pull only
those files that don't start with a 'd'. This requires more parsing and
is less precise but is the only way I know to do it. I thought someone
was writing an extension that did this automatically but don't know if
it has made its way to CPAN.

http://danconia.org
Sponsored Links







Also available: Server administration forum archive | Web Design forum archive | Software forum archive | Hardware reviews archive

Copyright 2008 codecomments.com