$ perl -wE'my($m,$y)=(localtime)[4,5];--$m<0 and($m,$y)=($m+12,$y--);say $m+1,"-",$y+1900;' 9-2018 #### sub previous_month { my ($month, $year) = @_; # month = 1..12 if (--$month < 1) { $month = 12; $year--; } ($month, $year); } # previous_month say for previous_month (10, 2018);