It's alive!  It's Aliiiive!

Is it an array, or is it a hash?  Neither!  Both!  It's a disgusting
frankenstein's monster made by sewing together bits and pieces of
arrays and hashes into a monstrous and unholy creation!

What does it do?  It manufactures an object that can be used as either
an array reference or a hash reference.

Why would you ever want such a thing?  Well, it's the natural way to
present an ordered hash.  You could then use $orderedhash->[7] to get
item number seven, or $orderedhash->{key} to get the item with the
specified key.

Or for example you could have an object that represents a directory.
$dir->[3] gets the name of file number 3 from the directory, so it is
easy to iterate over the files in the directory, and $dir->{name} gets
the stat information for the file named `$name'.  The test.pl file has
a demonstration of how to do this.

Discovery of how this works is left as an exercise for the reader.