using
Net::SFTP::Foreign:
use File::Spec;
use Net::SFTP::Foreign;
my %args = (user => encode("iso-8859-1", $ftp_user),
password => encode("iso-8859-1", $ftp_passwd),
fs_encoding => "iso-8591-1");
$args{port} = encode("iso-8859-1", $ftp_port) if defined $ftp_port;
$sftp = Net::SFTP::Foreign->new($ftp_url);
$sftp->error and die "unable to connect ro remote host: " . $sftp->err
+or;
my @files = $sftp->glob($ftp_file, names_only => 1);
$sftp->error and die "unable to glob: " . $sftp->error;
for my $file (@files) {
$file =~ m|([^/]+)$| or die "bad remote file name '$file'";
my $local = File::Spec->catfile($local_file, $1);
$sftp->get($file, $local);
$sftp->error and die "file transfer failed: " . $sftp->error;
}