my @raw_list = $ftp->dir($remote_dir); my @files; for (@raw_list) { # Skip directory and symblink next if $_ =~ /^d|^l/;
# Store file name if ($_ =~ /(.+)(\d\d:\d\d) (.+)/) { next if ($2 eq '.' or $2 eq '..'); push @files, $2; } } On Mon, 9 Aug 2004 19:38:19 -0600, Wiggins d Anconia <[EMAIL PROTECTED]> wrote: > > > > 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 > > -- > To unsubscribe, e-mail: [EMAIL PROTECTED] > For additional commands, e-mail: [EMAIL PROTECTED] > <http://learn.perl.org/> <http://learn.perl.org/first-response> > > -- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] <http://learn.perl.org/> <http://learn.perl.org/first-response>