@out1 = map { $_->[1] } sort { $a->[0] cmp $b->[0] } map { my @d = split /,/; [ join('\0', @d[7,8,0]), $_ ] } @data; #### my %dow = qw(Sunday 0 Monday 1 Tuesday 2 Wednesday 3 Thursday 4 Friday 5 Saturday 6); #### map { my @d = split /,/; [ join('\0', $dow{$d[7]}, @d[8,0]), $_ ] }