Thanks - I've done this already, but it's not explaining the supposed non-sensical ordering I see.
I've made some progress in the meantime however - it seems a problem with how exactly collate is done when LC_COLLATE = en_US.UTF-8 and not a Perl problem. But I'm still have to understand how it comes that a sort with this collation gives
a_2.
a_2.
a2.
(Update): sorry, misplaced this answer, it should have been a reply to thundergnat's
.