use Date::Calc qw(:all); my ($year, $month, $day) = @ARGV; my $day_of_week = Day_of_Week($year, $month, $day) - 1; # after subtraction, Mon => 0 .. Sun => 6 print Date_to_Text(Add_Delta_Days($year, $month, $day, $_)) . "\n" for (-$day_of_week .. (6-$day_of_week));