From: Tom Christiansen <tchrist@mox.perl.com>
Subject: SRC: Insertion-order hashes
Date: 22 May 1998 13:40:03 GMT
Tired of your hashes not being in insertion order?
Use the CPAN Tie::IxHash module!
# initialize
use Tie::IxHash;
tie %home, "Tie::IxHash";
$home{Larry} = "Mountain View";
$home{Tom} = "Boulder";
$home{Malcolm} = "Oxford";
print "In insertion order, the people are:\n";
foreach $name (keys %home) {
print "\t$name\n";
}
$home{Gnat} = "Fort Collins";
print "\nStill in insertion order, the people's cities are:\n";
while (( $name, $town ) = each %home ) {
print "\t$name is in $town.\n";
}
Here's the output:
In insertion order, the people are:
Larry
Tom
Malcolm
Still in insertion order, the people's cities are:
Larry is in Mountain View.
Tom is in Boulder.
Malcolm is in Oxford.
Gnat is in Fort Collins.
--tom
--
Intel chips aren't defective. They just seem that way.