Beefy Boxes and Bandwidth Generously Provided by pair Networks
Perl-Sensitive Sunglasses
 
PerlMonks  

Re^3: How do you sort keys of a hash in descending order and print 3 per line?

by AnomalousMonk (Archbishop)
on Mar 16, 2016 at 03:47 UTC ( [id://1157901]=note: print w/replies, xml ) Need Help??


in reply to Re^2: How do you sort keys of a hash in descending order and print 3 per line?
in thread How do you sort keys of a hash in descending order and print 3 per line?

I received this message: Argument "t" isn't numeric le (<=) ... Any idea why?

Because you've mis-copy/pasted the code. I can copy/paste the exact code posted by bangor above and run it with warnings and strict enabled, and no complaint from Perl.


Give a man a fish:  <%-{-{-{-<

  • Comment on Re^3: How do you sort keys of a hash in descending order and print 3 per line?
  • Download Code

Replies are listed 'Best First'.
Re^4: How do you sort keys of a hash in descending order and print 3 per line?
by MikeyG (Novice) on Mar 16, 2016 at 03:52 UTC

    My code looks exactly like the one you suggested.

      c:\@Work\Perl\monks>perl -wMstrict -e "my %accounts = ( tom => \"BigApple\", tom2 => \"BigApple2\", tom3 => \"BigApple3\", tom4 => \"BigApple4\", tom5 => \"BigApple5\", tom6 => \"BigApple6\", tom7 => \"BigApple7\", ); my $counter = 1; for my $userID (reverse sort keys %accounts) { print \"$userID\t\"; print \"\n\" if $counter++ % 3 == 0; } " tom7 tom6 tom5 tom4 tom3 tom2 tom
      There's a lot of command line "noise" from having to escape all the double-quotes for Windose, but that's exactly the code I ran and its output: otherwise exactly the code bangor posted. What is the code you are running?


      Give a man a fish:  <%-{-{-{-<

        I tested this on my WinXP 32 bit machine. It works fine. Something is wrong with your command line, what I don't know. But there is no fundamental need to escape the " characters. A side effect of a Windoze command line could be true.
        #!/usr/bin/perl use warnings; use strict; my %accounts = ( tom => "BigApple", tom2 => "BigApple2", tom3 => "BigApple3", tom4 => "BigApple4", tom5 => "BigApple5", tom6 => "BigApple6", tom7 => "BigApple7", ); # sort the users in descending order my $counter = 1; for my $userID (reverse sort keys %accounts) { print "$userID\t"; print "\n" if $counter++ % 3 == 0; } __END__ Prints: tom7 tom6 tom5 tom4 tom3 tom2 tom

Log In?
Username:
Password:

What's my password?
Create A New User
Domain Nodelet?
Node Status?
node history
Node Type: note [id://1157901]
help
Chatterbox?
and the web crawler heard nothing...

How do I use this?Last hourOther CB clients
Other Users?
Others surveying the Monastery: (5)
As of 2025-05-23 18:47 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    No recent polls found

    Notices?
    erzuuliAnonymous Monks are no longer allowed to use Super Search, due to an excessive use of this resource by robots.