use strict; use warnings; use Net::FTP; use Digest::MD5 qw(md5 md5_hex md5_base64); my ($ftp, $host, $user, $pass, $handle, $dir, $fname, $hash); $host = "ftp.mysite.com"; $user = "user"; $pass = "pass"; $dir = "/www/htdocs"; $fname = "robots.txt"; $ftp = Net::FTP->new($host, Debug => 0); $ftp->login($user, $pass) || die "Bad login"; $ftp->cwd($dir) || die "Unable to change directories"; $ftp->get($fname) || die "Unable to download file"; $ftp->quit; open($handle, $fname); $_ = join '', <$handle>; close($handle); $hash = md5_hex($_); print $hash;