#!/usr/bin/perl use strict; use warnings; use Net::SFTP; my %args = ( user => 'me', password => 'xxxxxxxxxx' ); my $sftp = Net::SFTP->new( 'ftp.example.com', %args ) || die 'Could not connect to the server: ' . $! . "\n"; $sftp->get( 'file1.txt', 'file1.txt', \&callback ) || die 'Could not fetch remote file: ' . $! . "\n"; sub callback { my ( $sftp, $data, $offset, $size ) = @_; my $percent = ($offset/$size)*100; print $percent . ' '; return; }