Thanks Kelvin  /Wiggins ..

Kelvin when you say next if $_ =~ /^d|^l/; are you pattern mattching
here ? Being new to this it seems confusing to me also:

 if ($_ =~ /(.+)(\d\d:\d\d) (.+)/) {
    next if ($2 eq '.' or $2 eq '..');
    push @files, $2;

In terms I can understand what is this doing ..


Thanks 

Chris


-----Original Message-----
From: Kelvin Wu [mailto:[EMAIL PROTECTED] 
Sent: Monday, August 09, 2004 10:44 PM
To: [EMAIL PROTECTED]
Subject: Re: Net::FTP Help !

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>





-----------------------------------------------------------------
        Visit our Internet site at http://www.reuters.com

Get closer to the financial markets with Reuters Messaging - for more
information and to register, visit http://www.reuters.com/messaging

Any views expressed in this message are those of  the  individual
sender,  except  where  the sender specifically states them to be
the views of Reuters Ltd.


--
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]
<http://learn.perl.org/> <http://learn.perl.org/first-response>


Reply via email to