debian man page for sort::key::maker

Query: sort::key::maker

OS: debian

Section: 3pm

Format: Original Unix Latex Style Formatted with HTML and a Horizontal Scroll Bar

Sort::Key::Maker(3pm)					User Contributed Perl Documentation				     Sort::Key::Maker(3pm)

NAME
Sort::Key::Maker - multikey sorter creator
SYNOPSYS
# create a function that sorts strings by length: use Sort::Key::Maker sort_by_length => sub { length $_}, qw(integer); # create a multikey sort function; # first key is integer sorted in descending order, # second key is a string in default (ascending) order: use Sort::Key::Maker ri_s_keysort => qw(-integer string); # some sample data... my @foo = qw(foo bar t too tood mama); # and now, use the sorter functions previously made: # get the values on @foo sorted by length: my @sorted = sort_by_length @foo; # sort @foo inplace by its length and then by its value: ri_s_keysort_inplace { length $_, $_ } @foo;
DESCRIPTION
Sort::Key::Maker is a pragmatic module that provides an easy to use interface to Sort::Key multikey sorting functionality. It creates multikey sorting functions on the fly for any key type combination and exports them to the caller package. The key types natively accepted are: string, str, locale, loc, integer, int, unsigned_integer, uint, number, num and support for other types can be added via Sort::Key::Register (or also via Sort::Key::register_type()). USAGE use Sort::Key::Maker foo_sort => @keys; exports two subroutines to the caller package: "foo_sort (&@)" and "foo_sort_inplace (&@)". Those two subroutines require a sub reference as their first argument and then respectively, the list to be sorted or an array. For instance: use Sort::Key::Maker bar_sort => qw(int int str); @bar=qw(doo tomo 45s tio); @sorted = bar_sort { unpack "CCs", $_ } @bar; # or sorting @bar inplace bar_sort_inplace { unpack "CCs", $_ } @bar; use Sort::Key::Maker foo_sort => &genmultikey, @keys; when the first argument after the sorter name is a reference to a subroutine it is used as the multikey extraction function. The generated sorter functions doesn't require neither accept one, i.e.: use Sort::Key::Maker sort_by_length => sub { length $_ }, 'int'; my @sorted = sort_by_length qw(foo goo h mama picasso);
SEE ALSO
Sort::Key, Sort::Key::Register. Sort::Maker also available from CPAN provides similar functionality.
AUTHOR
Salvador Fandin~o, <sfandino@yahoo.com>
COPYRIGHT AND LICENSE
Copyright (C) 2005 by Salvador Fandin~o 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. perl v5.14.2 2010-04-16 Sort::Key::Maker(3pm)
Related Man Pages
net::ldap::control::sort(3) - suse
net::ldap::control::sort(3pm) - debian
sort::key(3pm) - debian
sort::key::top(3pm) - debian
sort::key::types(3pm) - debian
Similar Topics in the Unix Linux Community
NAWK Scripting - Sort data based on the first field
Ignore Header and Footer and Sort the data in fixed width file
Sort the files on their name and then the timestamp using Perl
Trouble with alphanumeric Sort
Sort and remove duplicates in directory based on first 5 columns: