Beefy Boxes and Bandwidth Generously Provided by pair Networks
Do you know where your variables are?
 
PerlMonks  

Re: the basic datatypes, three

by barun (Novice)
on Mar 01, 2005 at 09:56 UTC ( #435336=note: print w/replies, xml ) Need Help??


in reply to the basic datatypes, three

%hash=(jan=>31,feb=>28,mar=>31,apr=>30);
print %hash;

output:
jan31apr30feb28mar31
Can anyone tell me why my order of output is like this ?

Replies are listed 'Best First'.
Re^2: the basic datatypes, three
by Thilosophy (Curate) on Mar 01, 2005 at 10:06 UTC
    Can anyone tell me why my order of output is like this ? Unlikely.

    For all practical purposes you cannot rely on the hash elements to be stored in any particular order. It depends on how many elements the hash has, on the value of the keys, and in recent Perl versions can be additionally randomized to prevent certain types of attacks.

    The order of the elements as returned by the keys, each and values functions is not the order of insertion or follows the alphabet. The order produced by these three functions is however internally consistent (meaning you can iterate over keys and values separately and they will match).

    You can sort the keys (for example) alphabetically if you need to do this, but you cannot recover the order of insertion.

    This may seem inconvenient, but it is (a fundamental) part of how a hash works. It is not made to retrieve elements in a certain order, but it is very fast at single-element lookups. Testing if an element exists is for example much more efficient in a hash than in an array.

Log In?
Username:
Password:

What's my password?
Create A New User
Node Status?
node history
Node Type: note [id://435336]
help
Chatterbox?
[james28909]: i cannot understand how someone cant see that a cloud of gas that evolves into a solar system or galaxies. it just makes sense to me. everythign that has happened, had to have happened for anything on this planet to be.
[james28909]: /gas/gas and debris/
[james28909]: another thing, i used to be atheist. life experiences, personal evidence. and my own perception is the reason why i believe the things i do.
[erix]: and now you are agnostic?
[james28909]: arunbear, your picking bits of history to fit your own narrative. right now, humans are smarter than in any of those times.
[james28909]: in order for there to be a mutation, there has to be a universe with laws setup that even allow a mutation.
[james28909]: everything past the first two things you piked from my posts are irrelevant to me and my beliefs. they are side effects.

How do I use this? | Other CB clients
Other Users?
Others having an uproarious good time at the Monastery: (17)
As of 2017-12-15 14:53 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?
    What programming language do you hate the most?




















    Results (433 votes). Check out past polls.

    Notices?