Looking at the docs (and guessing at the UTS#10), I'd say that the Unicode collation algorithm is locale independent: it is supposed to give a collation key for any Unicode string (the fact that they are encoded in utf-8 is immaterial, BTW)
So I'd just use Unicode::Collate->new()->sort(@list)
If you want to customize the results, then you'll have to understand the UTS#10, but otherwise it should "just work"
dakkar - Mobilis in mobile
Most of my code is tested...
Perl is strongly typed, it just has very few types (Dan)