#!/usr/bin/perl print "WeatherBug For Linux\n(C) 2001 Osiris - OsirisX @ mailandnews.com\n"; ReEnter: $numArgs = $#ARGV + 1; $path=".WeatherBug"; $zip=$ARGV[0]; if($zip ne "") {goto skipload;} if (-e $path) { open(settings, "$path"); @line = ; $zip=substr(@line[0],0,5); $StationID=substr(@line[0],6,4); $NiceID=substr(@line[0],11); close(settings); }else{ open(settings, ">$path"); $zip=""; $StationID=""; } skipload: #print "Zip: $zip\nStationId: $StationID\nNice ID: $NiceID\n"; if($zip eq "") { print "Please enter your zip code:"; $zip = ; chomp $zip; print "$zip is your zip code? [y]"; $confirm = ; chomp $confirm; if($confirm eq "n") { goto ReEnter; } print settings "$zip "; } if($StationID eq ""){ print "\nRetrieving Station List for $zip...\n"; $address="http://wguts.weatherbug.com/DeskWx/GetStations.asp?Magic=21771&ZipCode=" . $zip . "&Version=3.0"; $data = `lynx -source '$address'`; @IDs = split(/\|/, $data); $StationID=$IDs[3]; $NiceID="$IDs[4] in $IDs[5]"; print settings "$StationID $NiceID"; close(settings); print "Settings saved to $path.\n"; } print "Closest Station: $NiceID\nGetting Weather...\n"; $address="http://wisapidata.weatherbug.com/forecastISAPI/ForecastISAPI.dll?Magic=10992&RegNum=7382109&ZipCode=$zip&StationID=$StationID&Version=3.0&Units=0&t=1009308698&lv=0/"; $data = `lynx -source '$address'`; @Info = split(/\|/, $data); print "$Info[1]'s High: $Info[2]\n$Info[1]'s Low: $Info[3]\n$Info[5]'s High: $Info[6]\n$Info[5]'s Low: $Info[7]\n"; $address="http://wisapidata.weatherbug.com/WxDataISAPI/WxDataISAPI.dll?Magic=10991&RegNum=7382109&ZipCode=$zip&StationID=$StationID&Units=0&Version=3.0&Fore=1&t=1009308699&lv=0/"; $data = `lynx -source '$address'`; @xtra = split(/\|/, $data); print "Current Temperature: $xtra[3]°\nLast updated at: $xtra[1]\nDisplay Forecast?[n]"; $confirm = ; chomp $confirm; if($confirm ne "y") { exit; } print "Forecast:"; $address="http://wguts.weatherbug.com/deskwx/iebugpages/forecast.asp?bdc=AWS&Zip=$zip&StationID=$StationID&INDMA=0&DMA=524&Version=3.0&LVL=0&BDCAST=0&RID=7382109&PROMO=&t=1009398198"; $data = `lynx -dump -nolist '$address'`; $data =~ (s/\.GIF//g); open(forecast, ">.forecast"); print forecast substr($data,162); close(forecast); print "Displayed."; system("less .forecast"); unlink(".forecast");