sunnyfedora99 has asked for the wisdom of the Perl Monks concerning the following question:
Hi PerlMonks, I have the following code which gets a list of the '$dir' using Net::FTP.
my $ls; @{$ls} = $ftp->dir(); if (!@{$ls}) { print "Unable to list files in ftp://$host/$dir\n"; logError ("Unable to list files in ftp://$host/$dir"); return undef; } print Dumper($ls);
this produces the following output using Dumper
$VAR1 = [ '-rw------- 1 ftp ftp 4037 Oct 04 16:15 1.j +pg', '-rw------- 1 ftp ftp 10209 Oct 04 16:15 2.p +ng', '-rw------- 1 ftp ftp 1314 Oct 03 10:59 3.g +if' ];
I want the same output when I try getting the list of '$dir' when using the Net::SFTP::Foreign method. I can't seem to get it working. I've tried the following.
my $ls; $ls = $sftp->ls() or die "unable to retrieve directory: ".$sftp->error; if (!$ls) { print "Unable to list files in sftp://$host/$dir\n"; logError ("Unable to list files in sftp://$host/$dir"); return undef; } $ls = $_->{longname} for @$ls; print Dumper($ls);
Output is...
$VAR1 = [ 'drwx--S--- 2 pgpftp pgpftp 4096 Oct 5 11:06 .' ];
this should be showing something like the following
$VAR1 = [ 'drwx--S--- 2 pgpftp pgpftp 4096 Oct 5 11:06 tst1 +.jpg', 'drwx--S--- 2 pgpftp pgpftp 4096 Oct 5 11:06 tst2 +.jpg', 'drwx--S--- 2 pgpftp pgpftp 4096 Oct 5 11:06 tst3 +.jpg' ];
Anyone, any ideas where i'm screwing up
Cheers!
|
|---|
| Replies are listed 'Best First'. | |
|---|---|
|
Re: Net::SFTP listing problem
by salva (Canon) on Oct 05, 2011 at 13:46 UTC | |
by sunnyfedora99 (Novice) on Oct 05, 2011 at 14:35 UTC | |
by runrig (Abbot) on Oct 05, 2011 at 14:53 UTC | |
by sunnyfedora99 (Novice) on Oct 05, 2011 at 14:47 UTC |