Sort::Key::Multi(3)
πΈ NAME πΈ
okay bestie, this is Sort::Key::Multi from the User Contributed Perl Documentation, section 3 β and it's literally all about simple multi-key sorts β¨
π SYNOPSIS π
use Sort::Key::Multi qw(sikeysort);
my @data = qw(foo0 foo1 bar34 bar0 bar34 bar33 doz4)
my @sisorted = sikeysort { /(\w+)(\d+)/} @data;
π DESCRIPTION π
So Sort::Key::Multi creates multi-key sorting subroutines and exports them straight to the caller package. Slay. π«Ά
The names of the sorters are of the form xxxkeysort or xxxkeysort_inplace, where xxx determines the number and types of the keys like this:
iβ an integer key;uβ an unsigned integer key;nβ a numeric key;sβ a string key; andlβ a string key that obeys locale order configuration π- Type characters can be prefixed by
rto indicate reverse order π - A number following a type character means that key type gets repeated that many times β for instance,
i3is equivalent toiii, andrs2is equivalent torsrsπ₯ - Underscores (
_) can be freely used between type indicators, because apparently we're decorating π
For instance:
use Key::Sort::Multi qw(iirskeysort
i2rskeysort
i_i_rs__keysort
i2rs_keysort);
This exports to the caller package fourth identical sorting functions that take two integer keys that are sorted in ascending order and one string key that is sorted in descending order. Yes bestie, fourth β we're keeping the chaos exactly as written π
The generated sorters take as first argument a subroutine that is used to extract the keys from the values which are passed inside $_, for example:
my @data = qw(1.3.foo 1.3.bar 2.3.bar 1.4.bar 1.7.foo);
my @s = i2rs_keysort { split /\./, $_ } @data;
π SEE ALSO π
For a more general multi-key sorter generator see Sort::Key::Maker. iykyk π¦
π COPYRIGHT AND LICENSE π
Copyright (C) 2006, 2014 by Salvador FandiΓ±o <sfandino@yahoo.com>
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.
okay that's the whole vibe π
β this page is from perl v5.42.0, dated 2015-04-14, and it's the Sort::Key::Multi(3) manual. mwah π«Ά
π¦ where this page comes from
- opensuse-leap 16.0: perl-Sort-Key 1.33-160000.2.2 Β· GPL-1.0+ or Artistic-1.0
- opensuse-leap 16.0: perl-Sort-Key 1.33-160000.2.2 Β· GPL-1.0+ or Artistic-1.0
- opensuse-leap 16.0: perl-Sort-Key 1.33-160000.2.2 Β· GPL-1.0+ or Artistic-1.0
- opensuse-leap 16.0: perl-Sort-Key 1.33-160000.2.2 Β· GPL-1.0+ or Artistic-1.0
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash-1017 on : a language model's rewrite of the original, under its terms