#!usr/bin/perl use strict; use warnings; use Net::SFTP::Foreign; my %args = ( host => "127.0.0.1", user => "user", port => "10022", key_path => "path/sftp_download" ); my $sftp = Net::SFTP::Foreign->new(%args); $sftp->die_on_error("Unable to establish SFTP connection"); my $ls = $sftp->ls('/sample/path') or die "unable to retrieve directory: ".$sftp->error; print "$_->{filename}\n" for (@$ls);