my $today = time; $today -= $today % 86400 + 43200;; ## midday my @dates = map $today + 86400 * $_, 0 .. 364;; my @ordered = map $_->[0], sort { $a->[1] cmp $b->[1] || $b->[2] cmp $a->[2] } map[ $_, substr(scalar localtime($_),0,3), substr(scalar localtime($_),5,3) ], @dates;;