Вы начинаете с 28 марта 2009 г., а неделей позже - 4 апреля 2009 г.
use POSIX;
my $hours_per_day=24;
my $hours_per_week=168;
my $seconds_per_hour=3600;
my $seconds_per_week=($hours_per_week*$seconds_per_hour);
#begin at my first week
my $epoch_seconds=POSIX::mktime(0,0,12,28,2,109);
for(my $cline=1; $cline<=250; $cline++) {
my ($sec,$min,$hour,$mday,$month,
$year,$wday,$yday,$isdst) =localtime($epoch_seconds);
print strftime( "%A, %B %e, %Y\t", localtime($epoch_seconds) );
$year+=1900;
print STDOUT "$cline <=> $year/$month/$mday\n";
$epoch_seconds+=$seconds_per_week;
}
PS: Вам действительно следует использовать strftime
для форматирования дат.Смотрите perldoc POSIX
и ищите /strftime/.