Sort-Key
view release on metacpan or search on metacpan
lib/Sort/Key.pm view on Meta::CPAN
@sorted = sort { $a <=> $b } @foo;
=item multikeysorter(@types)
=item multikeysorter_inplace(@types)
=item multikeysorter(\&genkeys, @types)
=item multikeysorter_inplace(\&genkeys, @types)
are the low level interface to the multi-key sorting functionality
(normally, you should use L<Sort::Key::Maker> and
L<Sort::Key::Register> or L<Sort::Key::Multi> instead).
They get a list of keys descriptions and return a reference to a
multi-key sorting subroutine.
Types accepted by default are:
string, str, locale, loc, integer, int,
unsigned_integer, uint, number, num
and support for additional types can be added via the L<register_type>
subroutine available from L<Sort::Key::Types> or the more
friendly interface available from L<Sort::Key::Register>.
Types can be preceded by a minus sign to indicate descending order.
If the first argument is a reference to a subroutine it is used as the
multi-key extraction function. If not, the generated sorters
expect one as their first argument.
Example:
my $sorter1 = multikeysorter(sub {length $_, $_}, qw(int str));
my @sorted1 = &$sorter1(qw(foo fo o of oof));
my $sorter2 = multikeysorter(qw(int str));
my @sorted2 = &$sorter2(sub {length $_, $_}, qw(foo fo o of oof));
=back
=head1 SEE ALSO
perl L<sort> function, L<integer>, L<locale>.
Companion modules L<Sort::Key::Multi>, L<Sort::Key::Register>,
L<Sort::Key::Maker> and L<Sort::Key::Natural>.
L<Sort::Key::IPv4>, L<Sort::Key::DateTime> and L<Sort::Key::OID>
modules add support for additional datatypes to Sort::Key.
L<Sort::Key::External> allows to sort huge lists that do not fit in
the available memory.
Other interesting Perl sorting modules are L<Sort::Maker>,
L<Sort::Naturally> and L<Sort::External>.
=head1 SUPPORT
To report bugs, send me and email or use the CPAN bug tracking system
at L<http://rt.cpan.org>.
=head2 Commercial support
Commercial support, professional services and custom software
development around this module are available through my current
company. Drop me an email with a rough description of your
requirements and we will get back to you ASAP.
=head2 My wishlist
If you like this module and you're feeling generous, take a look at my
Amazon Wish List: L<http://amzn.com/w/1WU1P6IR5QZ42>
=head1 COPYRIGHT AND LICENSE
Copyright (C) 2005-2007, 2012, 2014 by Salvador FandiE<ntilde>o,
E<lt>sfandino@yahoo.comE<gt>.
This library is free software; you can redistribute it and/or modify
it under the same terms as Perl itself, either Perl version 5.8.4 or,
at your option, any later version of Perl 5 you may have available.
=cut
( run in 1.249 second using v1.01-cache-2.11-cpan-56fb94df46f )