http://www.perlmonks.org?node_id=19504


in reply to RE: RE: Oblivious?
in thread Oblivious?

To that effect I submit the following:
Requires: Geo::METAR
#!/usr/bin/perl -w # Gets METAR information from my Favorite Airports and # displays temp and wind speed direction. use LWP::UserAgent; use Geo::METAR; use strict; my $ua = LWP::UserAgent->new; my $uri = "http://weather.noaa.gov/cgi-bin/mgetmetar.pl?cccc="; my $m = new Geo::METAR; #airport codes my %code = ( Renton => 'krnt', Ephrata => 'keph', Boeing_Field => 'kbfi', CourDAlene => 'kcoe', Sea_Tac => 'ksea', ); my (%site,$key,$value); while (($key,$value) = each %code) { $site{$value}=$key; } for (keys %code) { $uri .= $code{$_} . "%20"; } my $req = HTTP::Request->new('GET',$uri); my $res = $ua->request($req); if ($res->is_success) { my @content = split("\n",$res->content); if (@content) { for (@content) { if (/\d{6}Z/) { $m->metar($_); print <<"EOT"; Site: $site{lc($m->{SITE})} Time: $m->{TIME} Temp: $m->{F_TEMP} deg F. Wind: $m->{WIND_MPH} mph. Dir: $m->{WIND_DIR_ENG} EOT } } } } else { print "Error: " . $res->status_line . "\n"; }

Update: Per Odud's excellent suggestion, I added error checking on the get. This meant usingLWP::UserAgent rather than LWP::Simple