in reply to Re^5: Picking a random item through probability
in thread Picking a random item through probability

While we're plugging modules, in addition to List::Util I recommend looking at List::MoreUtils (note the irregular naming, plural "Utils"). This is pretty useful, if only for the "any":
print "At least one value undefined" if any { !defined($_) } @list;

Which is not as clean as the syntax of the "any" in Damien Conway's Quantum::Superpositions , but it has the virtue of not requiring the use of a deranged Damien Conway module...

I'm also a fan of: Hash::Util. Being able to lock the keys on a hash is a great trick to catch typos.

And I see there's also a Hash::MoreUtils but that's one I haven't played with yet.