When I first wrote about Geo::Weather it worked quite well, but now it seems it doesn't. When I ran the code in Aighearach's reply (which still has my zip code in it :) I ran it and it just went into World wide Wait. I don't know what's happened to it but it seems to have stopped working all together.
$_.=($=+(6<<1));print(chr(my$a=$_));$^H=$_+$_;$_=$^H;
print chr($_-39); # Easy but its ok.