Memory consumption of an array of size X is the space needed for X pointers (more specific SV pointers) plus a SV for the array itself. A hash needs both the pointer, a key and some overhead for a linked list (the buckets) and itself.
Given you can program you program with little or no effort using arrays instead of hashes do just that. But if you need to use a lot of time rewriting something to use an array instead of a hash, use the hash.
PS.
OO is NOT better... Its just another way of doing things. Personally I dont see the big point, when you are not 20+ people working on the same project...
T
I
M
T
O
W
T
D
I
Comment on Re: Comparing memory requirements for hashes and arrays
Don't forget that Perl uses power of 2 buffering, so your
array probably takes up considerably more space than just
the number of elements in it.
Also the simple debuggability and extensibility of
hash-based structures makes them a win over arrays in
my books. Even if up front you think the development
speed is going to be similar, the debugging speed will
not be...