in reply to Strange Situation with Net::SMTP

I understand what you are saying.

I can't tell you where (one of the perldeltas?) but I've read that Perl has to jump through some mighty hoops to make the Module->function() syntax work, and sometimes guesses wrong.

new Net::SMTP $smtp_server or die "Failed:$1";
It may not fix it, but it should be educational. To really force the matter, try:

Net::SMTP::new('Net::SMTP', $smtp_server);