in reply to Re: Sort::Key::Natural sorting discrepancy
in thread Sort::Key::Natural sorting discrepancy

Thanks! I was using that exact thing but my problem is that I actually want P007 first, then P007b, which is what I would expect from natural sorting (this is how Windows sorts filenames). Once I use natkeysort and force it to lowercase, it sorts backwards from what I expect. I don't understand why they would be different. This also gets the same switch of behavior:

use feature qw( say ); use Sort::Key::Natural qw( natkeysort ); say for natkeysort {$_} qw( P007B_YUM P007_YUM ); say qw(---); say for natkeysort {$_} qw( P007b_Yum P007_Yum ); say qw(---); say for natkeysort {$_} qw( P007b_yum P007_yum );

That gets the same switch of order.

P007B_YUM P007_YUM --- P007_Yum P007b_Yum --- P007b_yum P007_yum

Replies are listed 'Best First'.
Re^3: Sort::Key::Natural sorting discrepancy
by 1nickt (Canon) on Oct 31, 2017 at 23:56 UTC

    Hm yeap, I see what you mean.

    P007b_Yum P007B_YUM P007b_yum P007_Yum P007_YUM P007_yum
    I would have expected:
    P007_yum P007_Yum P007_YUM P007b_yum P007b_Yum P007B_YUM
    Well, hopefully salva will come along soon and explain the mystery.


    The way forward always starts with a minimal test.