Packages / openSUSE Tumbleweed / Development/Libraries/Perl / perl-Sort-Naturally
[Source: perl-Sort-Naturally]
Package: perl-Sort-Naturally (1.03-5.39)
sort lexically, but sort numeral parts numerically
This module exports two functions, 'nsort' and 'ncmp'; they are used in
implementing my idea of a "natural sorting" algorithm. Under natural
sorting, numeric substrings are compared numerically, and other
word-characters are compared lexically.
This is the way I define natural sorting:
* *
Non-numeric word-character substrings are sorted lexically,
case-insensitively: "Foo" comes between "fish" and "fowl".
* *
Numeric substrings are sorted numerically: "100" comes after "20", not
before.
* *
\W substrings (neither words-characters nor digits) are _ignored_.
* *
Our use of \w, \d, \D, and \W is locale-sensitive: Sort::Naturally uses a
'use locale' statement.
* *
When comparing two strings, where a numeric substring in one place is
_not_ up against a numeric substring in another, the non-numeric always
comes first. This is fudged by reading pretending that the lack of a
number substring has the value -1, like so:
foo => "foo", -1
foobar => "foo", -1, "bar"
foo13 => "foo", 13,
foo13xyz => "foo", 13, "xyz"
That's so that "foo" will come before "foo13", which will come before
"foobar".
* *
The start of a string is exceptional: leading non-\W (non-word,
non-digit) components are are ignored, and numbers come _before_ letters.
* *
I define "numeric substring" just as sequences matching m/\d+/ --
scientific notation, commas, decimals, etc., are not seen. If your data
has thousands separators in numbers ("20,000 Leagues Under The Sea" or
"20.000 lieues sous les mers"), consider stripping them before feeding
them to 'nsort' or 'ncmp'.
Other Packages Related to perl-Sort-Naturally:
Download perl-Sort-Naturally
| Architecture | Package Size | Installed Size | Files |
|---|
| noarch | 21 KiB | 31 KiB | [list of files] |
Шляхи файлів пакета (6)
Paths come from the repository package-file index for the observed builds. They describe archive/package associations, not every file that will exist on a running system after maintainer scripts, alternatives, generated state, diversions, or installation choices.
- /usr/lib/perl5/vendor_perl/5.44.0/Sort
- /usr/lib/perl5/vendor_perl/5.44.0/Sort/Naturally.pm
- /usr/share/doc/packages/perl-Sort-Naturally
- /usr/share/doc/packages/perl-Sort-Naturally/ChangeLog
- /usr/share/doc/packages/perl-Sort-Naturally/README
- /usr/share/man/man3/Sort::Naturally.3pm.gz
Field source: openSUSE Tumbleweed OSS revision tumbleweed-oss-multiarch:4db10cdde3ad82c7e22be35753c9e164b4bdd30f92db4aee17a0d4c94c5f902f