#!/usr/bin/perl use Geo::WeatherNOAA; #$opt_v = 1; my %dirs = (N => "North", NNE => "North-Northeast", NE => "Northeast", ENE => "East-Northeast", E => "East", ESE => "East-Southeast", SE => "Southeast", SSE => "South-Southeast", S => "South", SSW => "South-Southwest", SW => "Southwest", WSW => "West-Southwest", W => "West", WNW => "West-Northwest", NW => "Northwest", NNW => "North-Northwest", ); my %days = (Sun => "Sunday", Mon => "Monday", Tue => "Tuesday", Wed => "Wednesday", Thu => "Thursday", Fri => "Friday", Sat => "Saturday", ); my %months = (Jan => "January", Feb => "February", Mar => "March", Apr => "April", May => "May", Jun => "June", Jul => "July", Aug => "August", Sep => "September", Oct => "October", Nov => "November", Dec => "December", ); $current = print_current("baltimore", "md", "", "get"); ($date,$warnings,$forecast,$region) = process_city_zone('southern baltimore','md','','get'); map {s/\bMD\b/Maryland/g; s/\bEST\b/Eastern Standard Time/g; s/\bEDT\b/Eastern Daylight Time/g; s/\bmph(\.?)\b/miles per hour/g; s/^\s+//; s/\s+$//; s/:00 ?([ap])\.?(m)\.?/ o'clock $1.$2./gi; #'; s/(\d{1,2}):?(\d{2}) ?([ap])(m)/$1:$2 $3.$4./gi; s/\b([NESW][NESW]?[EW]?)\b(?=\s)/$dirs{$1}/ge; s/\b(Sun|Mon|Tue|Wed|Thu|Fri|Sat)\b/$days{$1}/ge; s/\b(Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec)\b/$months{$1}/ge; s/\°F/ degrees/gi; s/\bin\./inches./gi; } ($date, $current, values %$forecast); print "$current\n\n"; print join("\n", @$warnings), "\n\n"; print "Forecast as of $date:\n"; foreach $key (keys %$forecast) { print "$key: $forecast->{$key}\n"; }