in reply to Using an array of hashes

The value in an array or hash must be a scalar, so what we call an AoH is really an array of references to hashes. Your line 19, push @tests, %tests; puts %tests into list context and pushes each key and value onto the top level array seperately, leaving no means of distinguishing the individual hashes. Change that line to:         push @tests, \%tests;

After Compline,
Zaxo