http://www.perlmonks.org?node_id=986245


in reply to Re^2: Net::SSH2 list files
in thread Net::SSH2 list files

# untested! my $sftp = $ssh2->sftp; my $dh = $sftp->opendir($dir); while (my %entries = $dh->read) { print "$_\n" for keys %entries; }

BTW, Net::SFTP::Foreign works with ActiveState and Strawberry versions of perl.

Replies are listed 'Best First'.
Re^4: Net::SSH2 list files
by WhiskeyJack (Initiate) on Aug 08, 2012 at 12:41 UTC

    When I run it I just get:

    uid, mode, mtime, name, atime, size, gid, uid

    Over and over again instead of getting the 3 files in the folder I defined :(

    Still thank you for trying!

    Net::SFTP::Foreign needs IO/Pty.pm which is only supported on windows if you run it with cygwin which for me still creates a bunch of problems :(

      Ok, try this one:
      # untested again! my $sftp = $ssh2->sftp; my $dh = $sftp->opendir($dir); while (my %e = $dh->read) { print "$e{name}\n"; }

      Net::SFTP::Foreign does not require IO::Pty when you use it with the Net::SSH2 backend.

        (-----O-----) *hug*

        Thank you a lot for the help, this seems to work. It prints some extra information if there are some folders in the folder I am looking at but it also prints all the files

        This is what I got:

        ".aptitude, .bashrc, ssh22.pl(one of the files), .cache, .., .bash_history, test.txt(the other file), TestAddDir(the directory in the directory that I am listing), .viminfo, .profile, .debtags, ."

        If you can't be bothered I can probably figure out how to remove these other things that are shown.