in reply to Strange Situation with Net::SMTP

It would seem that you've my()ed $smtp twice. That's not good :-) Are you using warnings? (Try : "use warnings;", or call perl with "-w")