in reply to best structure for classes?

You really should look at using the Benchmark.pm module. This will give you the relative comparisons on your own system.

On my system, an array with 20 items was 10-20% faster than a hash with 20 twenty items. Going up to 10000 items made arrays 700% faster in some cases. But, if you are using constants to access the index of your rows (as in use constants), then arrays do you no better.

OK, so arrays are faster. However the ease of asking for a key instead of an index is wonderful. Plus if you consider that most of the time your methods will take significantly longer to run in comparison to calling the methods, then you will find that it really doesn't matter. If you are concerned with the micro seconds that it takes to call the method, then you should consider not using method calls at all as function calls are 20 faster than methods.