#!/usr/bin/perl -w use feature 'say'; use Net::FTP; $ftp = Net::FTP->new( Host => 'my.host.name', Port => 2221, Debug => 1, Passive=>0 ) or die "Can't connect to server: $@"; say "Connected OK"; $ftp->binary or die "Can't switch to binary mode: $@"; say "Switched to binary mode"; $where = $ftp->pwd() or die "Can't get working directory: $@"; say "\$working directory = $where"; @ls = $ftp->ls() or die "Can't get directory listing: $@"; say "Entries found = ". scalar @ls; $ftp->close(); #### Net::FTP>>> Net::FTP(3.11) Net::FTP>>> Exporter(5.73) Net::FTP>>> Net::Cmd(3.11) Net::FTP>>> IO::Socket::SSL(2.066) Net::FTP>>> IO::Socket::IP(0.39) Net::FTP>>> IO::Socket(1.39) Net::FTP>>> IO::Handle(1.39) Net::FTP=GLOB(0x363bc80)<<< 220 Service ready for new user. Connected OK Net::FTP=GLOB(0x363bc80)>>> TYPE I Net::FTP=GLOB(0x363bc80)<<< 530 Access denied. Can't switch to binary mode: at /home/username/bin/perltest line 9.