@sorted_recs = sort @recs;
####
@srecs = sort {
$b->{AGE} <=> $b->{AGE}
||
$a->{SURNAME} cmp $b->{SURNAME}
} @recs;
####
@sorted_lines = sort @lines;
####
use Unicode::Collate;
@sorted_lines = Unicode::Collate::->new->sort(@lines);
####
use Unicode::Collate;
my $collator = Unicode::Collate::->new();
@srecs = sort {
$b->{AGE} <=> $b->{AGE}
||
$collator->cmp( $a->{SURNAME}, $b->{SURNAME} )
} @recs;
####
use Unicode::Collate;
my $collator = Unicode::Collate::->new();
# first calculate the magic sort key for each text field, and cache it
for my $rec (@recs) {
$rec->{SURNAME_key} = $collator->getSortKey( $rec->{SURNAME} );
}
# now sort the records as before, but for the surname field,
# use the cached sort key instead
@srecs = sort {
$b->{AGE} <=> $b->{AGE}
||
$a->{SURNAME_key} cmp $b->{SURNAME_key}
} @recs;
####
Lewis, C.S.
McKinley, Bill
MacKinley, Ron
Mables, Martha
Machado, José
Macon, Bacon
####
use Unicode::Collate;
@sorted_text = Unicode::Collate::->new->sort(@text);
####
@germans = qw{
Böll
Born
Böhme
Bodmer
Brandis
Böttcher
Borchert
Bobrowski
};
####
Bobrowski
Bodmer
Borchert
Born
Brandis
Brant
Böhme
Böll
Böttcher
####
Bobrowski
Bodmer
Borchert
Born
Böll
Brandis
Brant
Böhme
Böttcher
####
Bobrowski
Bodmer
Borchert
Born
Böhme
Böll
Brandis
Brant
Böttcher
####
Bobrowski
Bodmer
Böhme
Böll
Borchert
Born
Böttcher
Brandis
Brant
####
use Unicode::Collate;
@sorted_germans = Unicode::Collate::->new->sort(@german_names);
####
Bobrowski
Bodmer
Böhme
Böll
Böttcher
Borchert
Born
Brandis
Brant
####
use Unicode::Collate::Locale;
@sorted_germans = Unicode::Collate::Locale::
->new(locale => "de_phonebook")
->sort(@german_names);