use warnings; use strict; use Net::FTP; use File::Listing; use List::Util qw(reduce); my $ftp = Net::FTP->new('ftp.host.com'); $ftp->login('username', 'password'); my $latest = reduce { $b->[3] < $a->[3] ? $a : $b } File::Listing::parse_dir($ftp->dir()); print "Last modified file is: '$latest->[0]'\n";