Beefy Boxes and Bandwidth Generously Provided by pair Networks
Keep It Simple, Stupid
 
PerlMonks  

Re^3: To Hash or to Array--Uniqueness is the question.

by Nkuvu (Priest)
on Dec 02, 2005 at 17:10 UTC ( [id://513652]=note: print w/replies, xml ) Need Help??


in reply to Re^2: To Hash or to Array--Uniqueness is the question.
in thread To Hash or to Array--Uniqueness is the question.

On the contrary, you're sorting the keys of the hash, but you lost the order of the input. Given the sample data I used in my script (one foo bar one baz two quack baz) the sort method prints out bar, baz, one, quack, foo, two. Of course if one wanted the sorted order then the use of the array is pointless. But if one is looking for the order of the input data, an array (or a module) is, as far as I know, necessary.

Replies are listed 'Best First'.
Re^4: To Hash or to Array--Uniqueness is the question.
by Eimi Metamorphoumai (Deacon) on Dec 02, 2005 at 17:42 UTC
    No, he's using the values of the hash to store the intended order, and sorting on the values instead of the keys. The downside is that instead of just keeping the order around, we're spending time sorting to get the order back.

      Bah, this is what I get for being lazy. ;)

      Instead of creating a file so that I could open it via the $fh filehandle, I used the following snippet:

      # sort method my @values = qw( one foo bar one baz two quack baz ); my %h = (); foreach (@values) { $h{ $_ } ||= $.; } print "\n\nSort method:\n"; print (join ", ", sort { $h{a} cmp $h{b} } keys %h);

      And totally missed the fact that Moron was using $. as the hash value. Thanks for pointing out what I should have already noticed.

Log In?
Username:
Password:

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

How do I use this?Last hourOther CB clients
Other Users?
Others meditating upon the Monastery: (7)
As of 2024-04-23 11:01 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    No recent polls found