#!/usr/bin/perl
use strict;
use warnings;
use LWP::UserAgent;
use URI;

## und noch eine zweite Wetterstation ...
my $url = "http://wetter.msn.com/local.aspx?wealocations=wc:GMXX0265";
my $uri = URI->new($url);
my $ua = LWP::UserAgent->new( agent => 'Iceweasel/2.0.0.8');
$ua->env_proxy;
my $page = $ua->get($url, Host => $uri->host );
die "Konnte $url nicht holen.\n" unless $page->is_success ;
$_ = $page->content;
# ordentliche Umlaute
s/&#246;/ö/g;
s/&#252;/ü/g;
(my @data) = $_ =~ m#<span class="time">\(Stand: *([:0-9]+)\).*</th>.*<table class="details"><tr class="now"><td class="icon"><img src="[^>]*title=".*" />([^<]+)</td><td class="temp">([-.,0-9]+)&\#176;C<p>Gefühlte Temp.: *([-.,0-9]+)&\#176;C.*Barometer</a>:</td> <td>([^<]+) *<.*Taupunkt</a>:</td> <td>([-.,0-9]+)&\#176;</td>.*Feuchtigkeit</a>:</td> <td>([0-9%]+)</td></tr><tr><td>Sicht:</td> <td>([^<]+)</td></tr><tr><td>Niederschl. letzte Std.:</td> <td>([^<]+)</td></tr><tr><td>Niederschl. letzte 24 Std.:</td> <td>([^<]+)</td></tr><tr><td>Wind:</td> <td>([^<]+)</td></tr><tr><td>Sonnenaufgang:</td> <td>([:0-9]+)</td></tr><tr><td>Sonnenuntergang:</td> <td>([:0-9]+)</td>.*UV-Index</a>:</td> <td>([^<]+)</td>#gs;
# Wenn ein Fehler auftritt, ganze Seite abspeichern
unless ( $data[0] || $data[1] || $data[2] || $data[3] || $data[4] || $data[5] || $data[6] || $data[7] || $data[8] || $data[9] || $data[10] || $data[11] || $data[12] || $data[13] ) {
    print STDERR "$page->content";
    exit(-1)
}
print "wetter.msn.com: Wernigerode\nZeit: $data[0] Uhr\nWitterung: $data[1]\nTemperatur: $data[2]°C\nGefuehlte Temperatur: $data[3] grd C\nBarometer: $data[4]\nTaupunkt: $data[5] grd\nFeuchtigkeit: $data[6]\nSicht: $data[7]\nNiederschl. letzte Std.: $data[8]\nNiederschl. letzte 24 Std.: $data[9]\nWind: $data[10]\nSonnenaufgang: $data[11]\nSonnenuntergang: $data[12]\nUV-Index: $data[13]\n" ;
