Scroll to navigation

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

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

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

SEE ALSO

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

AUTHOR

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

COPYRIGHT AND LICENSE

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.

2015-04-14 perl v5.38.2