Sort::Key::Register(3) User Contributed Perl Documentation Sort::Key::Register(3)

Sort::Key::Register - tell Sort::Key how to sort new data types.

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;

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';

registers type $name.

&multikeygen is the multi-key extraction function for the type and @keytypes are the types of the extracted keys.

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).

Sort::Key, Sort::Key::Maker.

Salvador Fandiño, <sfandino@yahoo.com>

Copyright (C) 2005, 2014 by Salvador Fandiñ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.

2023-07-25 perl v5.38.0