Sort::Key::Register(3pm)

Sort::Key::Register3pm

Tell sort::key how to sort new data types.

Usage

  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;

Overview

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

Releases

8 releases since Debian 7 (Wheezy); the text changed 7 times.

  1. 7
  2. 8
  3. 9
  4. 10
  5. 11
  6. 12
  7. 13
  8. Arch

Author

Salvador Fandiño, <[email protected]>

From perl-sort-key 1.33-16 in Arch Linux 2026-11-01. Parsed by carta from the page's man source.