use Win32::Internet;
my $host = 'localhost';
my $user_name = 'user';
my $pass = 'password';
my $file = 'somefile';
my $inet = new Win32::Internet ();
$inet->FTP($FTP, $host, $user_name, $pass) || die $!;
$FTP->Put ($file) || die $!;
####
use Net::FTP;
my $host = 'localhost';
my $user_name = 'user';
my $pass = 'password';
my $file = 'somefile';
my $FTP = Net::FTP->new($host) or die $!;
$FTP->login($user_name,$pass) || die $!;
$FTP->put($file) || die $!;
####
use File::Copy;
my $source_file = 'somefile';
my $dest_file = 'somefile';
copy ($source_file, $dest_file) || die $!;