NAME Geo::Weather - Weather retrieval module SYNOPSIS use Geo::Weather; my $weather = new Geo::Weather; $weather->get_weather('Folsom','CA'); print $weather->report(); -or- use Geo::Weather; my $weather = new Geo::Weather; $weather->{timeout} = 5; # set timeout to 5 seconds instead of the default of 10 my $current = $weather->get_weather('95630'); print "The current temperature is $current->{temp} degrees\n"; DESCRIPTION The Geo::Weather module retrieves the current weather from weather.com when given city and state or a US zip code. Geo::Weather relies on LWP::UserAgent to work. In order for the timeout code to work correctly, you must be using a recent version of libwww-perl and IO::Socket. Geo::Weather was developed with libwww-perl 5.53 and IO::Socket 1.26. FUNCTIONS * new Create and return a new object. * get_weather Gets the current weather from weather.com Arguments city - US city or zip code state - US state, not needed if using zip code Sample Code my $current = $weather->get_weather('Folsom','CA'); if (!ref $current) { die "Unable to get weather information\n"; } Returns On sucess, get_weather returns a hashref containing the following keys city - City state - State zip - Zipcode of US city pic - weather.com URL to the current weather image url - Weather.com URL to the weather results cond - Current condition temp - Current temperature (degees F) wind - Current wind speed dewp - Current dew point (degrees F) humi - Current rel. humidity visb - Current visibility baro - Current barometric pressure heat - Current heat index (Feels Like string) Errors On error, it returns one of the following exported error variables $ERROR_QUERY - Invalid data supplied $ERROR_PAGE_INVALID - No URL, or incorrectly formatted URL for retrieving the information $ERROR_CONNECT - Error connecting to weather.com $ERROR_NOT_FOUND - Weather for the specified city/state or zip could not be found $ERROR_TIMEOUT - Timed out while trying to connect or get data from weather.com $ERROR_BUSY - weather.com is too busy to handle requests and is in Severe Weather Alert Mode * report Returns an HTML table containing the current weather. Must call get_weather first. Sample Code print $weather->report(); * lookup Gets current weather given a full weather.com URL Sample Code my $current = $weather->lookup('http://www.weather.com/search/search?where=95630'); Returns On sucess, lookup returns a hashref with the same keys as the get_weather function On error, lookup returns the same errors defined for get_weather OBJECT KEYS There are several object hash keys that can be set to manipulate how Geo::Weather works. The hash keys should be set directly following `new'. Below is a list of each key and what it does: * debug Enable debug output of the connection attempts to weather.com Valid values are 0 to 4, increasing debugging respectivley. * timeout Controls the timeout, in seconds, when trying to connect to or get data from weather.com. Default timeout is 10 seconds. Set to 0 to disable timeouts. * proxy Use HTTP proxy for the request. Format is http://proxy.server:port/. Default is no proxy. * proxy_user Sets the username to use for proxying. Defaults to the HTTP_PROXY_USER environment variable, if set, or don't use authentication if blank. * proxy_pass Sets the password to use for proxying. Defaults to the HTTP_PROXY_PASS environment variable, if set. * agent_string HTTP User-Agent header for request. Default is Geo::Weather/$VERSION. AUTHOR Geo::Weather was wrtten by Mike Machado