use strict; use warnings; my %myHash; $myHash{"uno"} = "one"; $myHash{"dos"} = "two"; $myHash{"tres"}->[0] = "three-point-oh"; $myHash{"tres"}->[1] = "three-point-one"; $myHash{"tres"}->[2] = "three-point-two"; $myHash{"quatro"} = "four"; our @myArray; *myArray = $myHash{"tres"}; $myArray[3] = "three-point-three"; $myArray[4] = "three-point-four"; $myArray[5] = "three-point-five"; foreach my $key (keys(%myHash)) { if (ref($myHash{$key}) eq "ARRAY") { for (my $item = 0; $item <= $#{$myHash{$key}}; $item++) { print qq($key->).qq([$item] = "$myHash{$key}->[$item]"\n); } } else { print qq($key = "$myHash{$key}"\n); } }