Try this. It works on my system.
#!/usr/bin/perl
use warnings;
use Net::FTP;
$ftp = Net::FTP->new("host", Debug => 1) || die "could not connect";
#qw(password) because my password has funky characters in it -- yours
+should too ;-)
$ftp->login("user",qw(password)) || die "could not login";
$ftp->cwd('./test') || die "could not cwd";
foreach (<@ARGV>)
{
$ftp->put($_) || die "could not put file $_";
}
$ftp->quit;
Setting Debug => 1 will dump the output of the FTP session -- that will probably help you figure out why it's failing.
If it still doesn't work, post some Debug output and I'll take a look at it. Regards,
RT