if you look at the code for the module Net::FTP(In my computer it's in Perl/site/lib/Net/FTP.pm) that line number in within the login() subroutine, more specifically it's in an unless block that gets called if you don't define a password,which if you code is accurate, you have not done.
The actual code tries to do some gobbledegook with getpwuid($>) and $ENV{HOME} if you're not running unix, this could generate an undefined value, hence the error.
So I would just go ahead and login as anonymous with an email as a password, you skip over the error condition that way.
$ftp->login("anonymous","myemailaddress@somewhere.com");