Ciao,
devi accertarti che i valori di $smtp e $ENV{'USER'} siano presenti per cui prova:
#!/usr/local/bin/perl
use Net::SMTP;
$smtp = Net::SMTP->new('smtp.tiscali.it');
print "smtp: $smtp\n";
print "User: $ENV{'USER'}\n";
$smtp->mail($ENV{'USER'});
$smtp->to('xxxxxxx@tiscali.it');
$smtp->data();
$smtp->datasend("mesaggio di prova");
$smtp->dataend();
$smtp->quit()
guarda cosa risponde. Per il primo dovrebbe restituirti un indirizzo di memoria tipo "0x12345678" per il secondo una stringa.