sub weather { my $zip = shift; my $url = shift; $url = $url || "http://www.wunderground.com/cgi-bin/findweather/getForecast?query=$zip"; my $out = &www_slurp ($url); $out =~ s/\r//g; $out =~ s/\n//g; my ($temp) = $out =~ /Temperature<\/td>(\d+)/m; my ($cond) = $out =~ /Conditions<\/td>([^<]+)Sunrise<\/td> (\d+:\d+) (AM|PM)/m; my ($sunset, $tt) = $out =~ /Sunset<\/td> (\d+:\d+) (AM|PM)/m; my ($location) = $out =~ /Weather Underground: ([^<]+)</m; $location =~ s/ Forecast$//; my ($gay, $tonight) = $out =~ /<b>(Monday|Tuesday|Wednesday|Thursday|Friday|Saturday|Sunday|Today|Tonight|Overnight|Now)<\/b><br>([^<]+)</; $tonight =~ s/&&//g; $tonight =~ s/\s+$//; return "" if (! $temp); my $now = time; my @now = split //, $now; my $str = "$location: $cond, $temp" . "F, $tonight" . ($sunrise && $t ? " sunrise at $sunrise $t" : "") . ($sunset && $tt ? ", sunset at $sunset $tt." : ""); $str =~ s/\s+/ /g; return $str; }