in reply to use of ftp in libnet package
The module supports a debug flag that will dump to STDERR.
Also the module has an object method "message()" that returns the text message returned from the last command.
My suggestion is to modify your scripts as follows.
use Net::FTP;
eval '$ftp = new Net::FTP("www.somedomaind.org",Debug => 1);' or die("Connection failed.\n");
$ftp->login("username","password") or die($ftp->message());
$ftp->cwd("/pages") or die($ftp->message());
$ftp->get("defhome.htm") or die($ftp->message());
$ftp->quit() or die($ftp->message());