#!/usr/bin/perl -w
###########################################
# dst_ger - Years with daylight savings
#           time in Germany
# Mike Schilli, 2005 (m@perlmeister.com)
###########################################
use strict;
use DateTime;

YEAR:
for my $year (reverse 1964..2006) {

    for my $day (1..31) {

        my $dt = DateTime->new(
          year   => $year,
          month  => 3,
          day    => $day,
          hour   => 1,
          minute => 59,
          second => 59,
          time_zone => "Europe/Berlin",
        );

        $dt->add(seconds => 1);

        if($dt->hour() == 3) {
            print "$year: DST\n";
            next YEAR;
        }
    }
    print "$year: No DST\n";
    last;
}
