I bought an account with www.wunderground.com so I don't feel guilty making requests through an agent...
my $weather = weather (95017);
print "$weather\n";
sub weather
{
my $zip = shift;
my $url = shift;
$url = $url || "http://www.wunderground.com/cgi-bin/findweather/getF
+orecast?query=$zip";
my $out = &www_slurp ($url);
$out =~ s/\r//g;
$out =~ s/\n//g;
my ($temp) = $out =~ /<td>Temperature<\/td><td><b>(\d+)/m;
my ($cond) = $out =~ /<td>Conditions<\/td><td><b>([^<]+)</m;
my ($sunrise, $t) = $out =~ /<td>Sunrise<\/td><td><b> (\d+:\d+) (AM|
+PM)/m;
my ($sunset, $tt) = $out =~ /<td>Sunset<\/td><td><b> (\d+:\d+) (AM|P
+M)/m;
my ($location) = $out =~ /<title>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;
}
-
Are you posting in the right place? Check out Where do I post X? to know for sure.
-
Posts may use any of the Perl Monks Approved HTML tags. Currently these include the following:
<code> <a> <b> <big>
<blockquote> <br /> <dd>
<dl> <dt> <em> <font>
<h1> <h2> <h3> <h4>
<h5> <h6> <hr /> <i>
<li> <nbsp> <ol> <p>
<small> <strike> <strong>
<sub> <sup> <table>
<td> <th> <tr> <tt>
<u> <ul>
-
Snippets of code should be wrapped in
<code> tags not
<pre> tags. In fact, <pre>
tags should generally be avoided. If they must
be used, extreme care should be
taken to ensure that their contents do not
have long lines (<70 chars), in order to prevent
horizontal scrolling (and possible janitor
intervention).
-
Want more info? How to link
or How to display code and escape characters
are good places to start.
|