Beefy Boxes and Bandwidth Generously Provided by pair Networks
Just another Perl shrine

Re: Hash to Scalar Assignment Oddity

by bunnyman (Hermit)
on Jan 26, 2006 at 18:12 UTC ( #525793=note: print w/replies, xml ) Need Help??

in reply to Hash to Scalar Assignment Oddity

This isn't odd. It's supposed to do that.

If you evaluate a hash in scalar context, it returns false if the hash is empty. If there are any key/value pairs, it returns true; more precisely, the value returned is a string consisting of the number of used buckets and the number of allocated buckets, separated by a slash. This is pretty much useful only to find out whether Perl's internal hashing algorithm is performing poorly on your data set. For example, you stick 10,000 things in a hash, but evaluating %HASH in scalar context reveals "1/16" , which means only one out of sixteen buckets has been touched, and presumably contains all 10,000 of your items. This isn't supposed to happen.
-- man perldata

Replies are listed 'Best First'.
Re^2: Hash to Scalar Assignment Oddity
by revdiablo (Prior) on Jan 26, 2006 at 20:56 UTC
    This isn't odd. It's supposed to do that.

    Are you saying defined behavior is never odd?!? That's quite a bold statement, and one I'm certainly not prepared to make (especially in this case, where I do indeed find the defined behavior a bit odd, even if it's well documented and I already knew what it was). :-)

Re^2: Hash to Scalar Assignment Oddity
by dsb (Chaplain) on Jan 30, 2006 at 21:00 UTC
    Now what doc is that in?

    This @ISA my( $cool ) %SIG
      I already told you. It's perldata.

Log In?

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

How do I use this? | Other CB clients
Other Users?
Others wandering the Monastery: (1)
As of 2022-01-19 23:08 GMT
Find Nodes?
    Voting Booth?
    In 2022, my preferred method to securely store passwords is:

    Results (56 votes). Check out past polls.