in reply to Using Data::Dumpers Sortkeys subroutine

"apwu749_d5" isn't numeric in sort

Maybe cmp instead of <=> ?

(some sample data together with the expected (sorted) output might help...)

Replies are listed 'Best First'.
Re^2: Using Data::Dumpers Sortkeys subroutine
by nysus (Parson) on Nov 27, 2008 at 07:25 UTC
    Here is some sample data:
    $VAR3 = { 'apwu749_d5' => { '1' => 'anonymous user', '13' => 'Elected Officer', '17' => 'APWU Staff', '2' => 'authenticated user', '3' => 'member', '4' => 'web site committee', '5' => 'administrator', '9' => 'Shop Steward' } }; $VAR4 = { 'atu1700_drupal5' => { '1' => 'anonymous user', '2' => 'authenticated user', '3' => 'administrator', '4' => 'member', '5' => 'superuser', '6' => 'web site committee', '7' => 'steward', '9' => 'Executive Board Member' } };
    Notice how the numeric keys are sorted 1, 13, 17, 2, 3... in the first hash. That's what I'm trying to correct.

    $PM = "Perl Monk's";
    $MCF = "Most Clueless Friar Abbot Bishop Pontiff Deacon";
    $nysus = $PM . $MCF;
    Click here if you love Perl Monks

Re^2: Using Data::Dumpers Sortkeys subroutine
by nysus (Parson) on Nov 27, 2008 at 07:22 UTC
    Right, but what's the best way to make this subroutine intelligent enough to distinguish between a has with strings as keys and a hash with numeric values. The problem is Data::Dumper just blindly uses this subroutine for all hashes. I need to build intelligence into it so it knows which sort algorithm to use.

    $PM = "Perl Monk's";
    $MCF = "Most Clueless Friar Abbot Bishop Pontiff Deacon";
    $nysus = $PM . $MCF;
    Click here if you love Perl Monks