use Net::FTP;
my $host = 'some.host.name';
my $login = 'abc';
my $password = 'def';
my $folder = '/pub';
my $ftp = Net::FTP->new($host, Debug => 0) or die "Connect: [ERROR]\r\n";
$ftp->login($login, $password) or die "Auth: [ERROR]";
$ftp->cwd($folder);
@q = $ftp->ls($folder);
foreach(@q) { print $_."\n"; }
$ftp->quit;
у меня работает.
запусти из под cmd и посмотри что скрипт пишет, какую ошибку.