use Net::FTP; my $ftp = Net::FTP->new("ftp.server.com", Debug => 0) or die "Cannot connect to some.host.name: $@"; my $username = 'username'; my $password = 'pa\ss\wor$d$'; $ftp->login($username,$password) or die "Cannot login ", $ftp->message; $ftp->cwd("/files") or die "Cannot change working directory ", $ftp->message; $ftp->ls("/files") or die "get failed ", $ftp->message; $ftp->quit;