my $last_day_month = $t->month_last_day($month); #?? #### $last_day = Time::Piece->new->month_last_day; #### #!/usr/bin/perl use strict; use warnings; use feature qw/ say /; use Time::Piece; for my $year (2015, 2016) { say sprintf("$year/%02d: ", $_), Time::Piece->strptime("$year $_", "%Y %m")->month_last_day) for 1,2; } __END__ #### $ perl 1140366.pl 2015/01: 31 2015/02: 28 2016/01: 31 2016/02: 29 $