Beefy Boxes and Bandwidth Generously Provided by pair Networks
Welcome to the Monastery
 
PerlMonks  

Geo::Weather

by damian1301 (Curate)
on Jan 29, 2001 at 03:14 UTC ( #54917=modulereview: print w/replies, xml ) Need Help??

Item Description: This is a great module that grabs the weather with very simple commands from the National Weather System

Review Synopsis:

I just got this module today with the advice of jcwren and it is the easiest way to get the weather from the web. All it takes is a simple snippet like this:

#!/usr/bin/perl use Geo::Weather; my $weather = new Geo::Weather; $weather->get_weather('Philadelphia','PA'); print $weather->report();
And that little bit will come with a weather report that will come out with this (Today, I mean):
<font size=+4>Philadelphia, Pennsylvania</font><br> <img src="http://image.weather.com/weather/wx_icons/PFMScurrent/28.gif +" border=0> <font size=+3>Mostly Cloudy</font><br> <table border=0> <tr><td><b>Temp</b></td><td>37&deg F</td> <tr><td><b>Wind</b></td><td>From the West at 15 mph</td> <tr><td><b>Dew Point</b></td><td>18&deg F</td> <tr><td><b>Rel. Humidity</b></td><td>39%</td> <tr><td><b>Visibility</b></td><td>unlimited</td> <tr><td><b>Barometer</b></td><td>30.25 inches</td> <tr><td><b>Sunrise</b></td><td>7:14 am</td> <tr><td><b>Sunset</b></td><td>5:16 pm</td> </table>
But if you don't want that big report you can even shorten it to make it more limited and more..fashionable:
use Geo::Weather; my $weather = new Geo::Weather; my $current = $weather->get_weather('19067'); print "The current temperature is $current->{temp} degrees\n";
And that would just print:
The current temperature is 35 degrees
Now, all this code presented is well documented in the module. All the keys are covered with a description next to it. So, in conclusion, this is MUCH easier than going out and writing a whole load of regular expressions to grab the weather where the results might not even be accurate! Trust me, I know. Get it here

UPDATE: In the full report, you can use the zip code in there too for convenience. If your not connected to the internet when you run it, all that will happen is a little error.

Log In?
Username:
Password:

What's my password?
Create A New User
Node Status?
node history
Node Type: modulereview [id://54917]
help
Chatterbox?
[1nickt]: my $x = $aohoaoh->[0]->{' foo'}->[0]->{'bar' }; should work
[thepkd]: not indexing
[thepkd]: getting data out of the ds
[choroba]: it depends. Give more details, please
[thepkd]: i used a series of {}'s but it dont work
[choroba]: You need square brackets for arrays
[GotToBTru]: you can certainly construct a single expression to access any part of the data structure, without using temp variables. but you might make it easier on yourself and any other poor soul who has to understand your code if you do
[thepkd]: to dereference i mean
LanX .oO( oh tempz, oh moretz)
[thepkd]: @GotToBTru Sure. But.

How do I use this? | Other CB clients
Other Users?
Others having an uproarious good time at the Monastery: (14)
As of 2016-12-06 13:21 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?
    On a regular basis, I'm most likely to spy upon:













    Results (104 votes). Check out past polls.