1. Is it possible to write an array to disk in the same way as you can a hash, with either the dbmopen/dbmclose or that tiehash thing?
You can design a class which will do that for you. Take a look at
perldoc -f tie
How can I sequentially step through elements in a hash? For example with an array I would just 'push' things on, then I 'shift' them off
Use
each.
If I don't know the key from my hash, how can I just retrieve the first value
In a hash, there is no such thing as "the first value" because hashes are not ordered.
You can get _a_ value from your hash by using each().
Example
my %hash = ('foo' => 'bar', 'bar' => 'foo');
my ($key, $val) = each(%hash);
print "$key\n";
--perlplexer