my @array_of_hashes = ( {hashkey1=>$hashval1, hashkey2=>$hashval2}, {hashkey1=>$hashval1, hashkey2=>$hashval2} ... ); #### # to modify what's in the second hash $array_of_hashes[1]->{hashkey1} = "ay carumba!"; # $array_of_hashes[1]{hashkey1} would also work! # to iterate over the hashes foreach my $hashref (@array_of_hashes) { # $hashref is now a reference to one of the hashes in @array _of_hashes # we need to de-reference to go through the keys of the hash foreach (keys %$hashref) { print "$_ => ", $hashref->{$_}, "\n"; } }