use Time::Local; use 5.010; my ( $month, $year ) = ( gmtime($^T) )[ 4, 5 ]; my @month_days = ( 5, 16, 20 ); say timegm( 59, 59, 23, $_, $month, $year ) for @month_days;