http://qs321.pair.com?node_id=189638

ortsac has asked for the wisdom of the Perl Monks concerning the following question:

Hi folks, I come is search of wisdom. How do I get just the filename from ls -Rla? I have:
@data=$ftp->ls("-Rla"); foreach $line (@data) { print $line."\n"; }
but I get
-rw-r--r-- 1 user user 680 Aug 12 12:01 is41bt1p.scc
What I am trying to do is perform a $ftp->get($line); but since it is getting the full line, it isn't working. Really need and appreciate the help

follows the full program if you need more context. I am a novice so be nice.

++++++++++++++++++++++++++++++++++++++++++++++
#!/usr/local/bin/perl use Net::FTP; my $dir = '/home/geouser/Bluedevil/Test'; my $host = '123.45.67.890'; my $login = 'user'; my $passwd = 'password'; my $ftp = Net::FTP->new($host); my $RC = $ftp->login("$login","$passwd"); if (not $RC) { print "\n\nFTP Login to Remote Host: '$host' failed!\n\n"; print "No files updated from Remote host: '$host'!\n\n"; exit; } # Go to the specified directory print STDERR "Changing directory to <$dir>\n" if ($DEBUG); if ($ftp->cwd($dir) == 0) { warn "$program: can't change directory to <$dir>\n"; return(1); } @data=$ftp->ls("-Rla"); foreach $line (@data) { if ($line =~ /^-/) { print $line."\n"; } } $ftp->quit;

edited: Mon Aug 12 21:21:29 2002 by jeffa - added code tags, removed unnecessary br tags