use Language::MySort; *french_sort = lang_sort( # *the character list* # only includes the characters remaining after # the identical-character map has been applied 'a' .. 'z', { # *the identical-character map* # maps characters to the character # they should sort identically as # "AXYZ" means that X, Y, and Z are translated as A identical => ["a\340", "c\347", "e\350\351\352\353", "o\364"], } ); { local $, = " "; print french_sort( "\351tude", "\352tre", "tr\350s", "entrer", "\351t\351", ); }