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.