http://www.perlmonks.org?node_id=1019524


in reply to big bug in Date::Calc?

I think the problem is that you are calling Monday_of_Week() twice:
($y, $m, $d) = Add_Delta_Days( Monday_of_Week( $week, $year ), 6); # Change line above to: ($y, $m, $d) = Add_Delta_Days( $year, $month, $day, 6); First week of 2013: 31/12/2012 to 6/1/2013 Second week of 2013: 7/1/2013 to 13/1/2013