#!/usr/bin/perl -w
###########################################
# frifeb29 - Print all 2/29 dates falling
#            on a Friday, 1980-2020.
# Mike Schilli, 2005 (m@perlmeister.com)
###########################################
use strict;
use DateTime;
use DateTime::Event::Recurrence;

my $feb29 = DateTime::Event::Recurrence->
           yearly(days => 29, months => 2);
my $fri   = DateTime::Event::Recurrence->
           weekly(days => 5);

my $set = $fri->intersection($feb29);

my $it = $set->iterator(
    start => DateTime->new(year => 1980),
    end   => DateTime->new(year => 2020),
);

while(my $dt = $it->next()) {
    $dt->set_locale("de_DE");
    print $dt->day_name(), ", den ", 
          $dt->day(), ".", 
          $dt->month(), ".",
          $dt->year(), "\n";
}
