По идее все должно работать... т.к.
Массив хэшей - это массив ссылок на хэши
Хэш массивов - это хэш ссылок на массивы
используй my в блоках и функциях, когда блок завершается переменная уничтожается.
З.Ы: Твою запись я уже и забыл когда видел, используй ссылки
#масив хэшей
@ah = ( { 1 => 2, 3 => 4 }, { 5 => 6, 7 => 8 }, { 9 => 10 } );
$aref = \\@ah; # ссылка на массив
print $aref->[1]->{5}; # эквивалентна print $ah[1]{5};
$aref = $ah[1]; # или так ссылка на элемент массива
print $aref->{5}; # куда проще и нагляднее
undef @ah; # или @ah = ();
print $ah[1]{5}; # ничего не выведет