No, I must've missed the first line when I pasted... regardless, when I cut-and-pasted your code (with the #!, and yes, /usr/bin/perl is the correct path on my system...) I still get that infernal error!
Also, if I use $weather->report(); instead, I get an error from the perl module itself... The same hash ref error.