use strict;
use POSIX qw(mktime tzset);
print "Content-type: text/html\n\n";
my $anfang_in = '29.10.2011 08:30';
print "Anfang: '$anfang_in'
";
my ($dd, $dm, $dy, $th, $tm, $ts) = split(/[\.: ]/, $anfang_in);
$dm = $dm - 1;
$dy = $dy - 1900;
$ts = 0;
my $time = mktime($ts, $tm, $th, $dd, $dm, $dy);
print "Time: '$time' ($ts/$tm/$th/$dd/$dm/$dy)
";
my ($isdst) = (localtime($time))[-1];
if ($isdst) {
$time = $time - 2*60*60;
} else {
$time = $time -1*60*60;
} # else
($ts, $tm, $th, $dd, $dm, $dy) = (localtime($time))[0..5];
$anfang = sprintf("%04d.%02d.%02d %02d:%02d:%02d", $dy + 1900, $dm + 1, $dd, $th, $tm, $ts);
my ($std, $dst) = POSIX::tzname();
print "TZ: '$std/$dst'
";