NAME¶
Sort::Key::Register - tell Sort::Key how to sort new data types.
SYNOPSIS¶
use Sort::Key::Register Person =>
sub { $_->surname, $_->name },
qw(string string);
use Sort::Key::Register 'Color::Component' => 'integer';
use Sort::Key::Register Color =>
sub { $_->R, $_->G, $_->B },
('Color::Component') x 3;
DESCRIPTION¶
Sort::Key::Register allows one to register new data types with Sort::Key so that
they can be sorted as natively supported ones.
It works as a pragma module and doesn't export any function, all its
functionality is provided via "use":
use Sort::Key::Register ...
To avoid collisions between modules registering types with the same name, you
should qualify them with the package name.
use Sort::Key::Register 'MyPkg::foo' => sub { $_ }, '-int';
# or using __PACKAGE__:
use Sort::Key::Register __PACKAGE__, sub { $_ }, '-int';
USAGE¶
- use Sort::Key::Register $name => \&multikeygen, @keytypes;
- registers type $name.
&multikeygen is the multi-key extraction function for the type and
@keytypes are the types of the extracted keys.
- use Sort::Key::Register $name => $keytype;
- this 'use' is useful for simple types that are sorted as another type
already registered, maybe changing the direction of the sort (ascending or
descending).
SEE ALSO¶
Sort::Key, Sort::Key::Maker.
AUTHOR¶
Salvador Fandin~o, <sfandino@yahoo.com>
COPYRIGHT AND LICENSE¶
Copyright (C) 2005, 2014 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.