use Time::Piece; my %order = map { split ' ', 'Time::Piece'->strptime("$_", "%d")->strftime('%A %u') } 1 .. 7;