Beefy Boxes and Bandwidth Generously Provided by pair Networks
laziness, impatience, and hubris
 
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 perusing the Monastery: (5)
As of 2024-04-15 16:55 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    No recent polls found