Praktisch alle Programmiersprachen sortieren Daten nach dem ASCII-Standard; so auch die Perl-Funktion sort.
Etwas wie rfc1.txt, rfc2086.txt, rfc822.txt sollte für Menschen eigentlich als rfc1.txt, rfc822.txt, rfc2086.txt sortiert werden.
Sort::Key::Natural - fast natural sorting von Salvador Fandiño García sortiert Daten, die sowohl Ziffern als auch Buchstaben enthalten, in der von Menschen erwarteten Reihenfolge (natural sorting).
Beispiel:
#!/usr/bin/perl use warnings; use strict; use Sort::Key::Natural qw(natsort); my @kapitel = ( "Kapitel 1", "Kapitel 11", "Kapitel 2", "Kapitel 5", "Kapitel 55", "Kapitel 16", ); my @nat_sorted = natsort @kapitel; print join("\n", @nat_sorted), "\n";
Das Programm erzeugt folgende Ausgabe:
Kapitel 1 Kapitel 2 Kapitel 5 Kapitel 11 Kapitel 16 Kapitel 55
Siehe auch
- Sort::Key::Natural - fast natural sorting
- Sort::Key - the fastest way to sort anything in Perl
- Sort::Naturally -- sort lexically, but sort numeral parts numerically
- Perlmonks: How do I do a natural sort on an array?
- Coding Horror: Sorting for Humans : Natural Sort Order
- Martin Pool: Natural Order String Comparison
- Perldoc: sort
- Sort::Versions - Versionsnummern richtig sortieren
Jetzt kommentieren