Forum Webscript.Ru

Программирование => Perl => Тема начата: Evgeny от 12 Марта 2002, 11:45:38

Название: Удалить массивы и хеши.
Отправлено: Evgeny от 12 Марта 2002, 11:45:38
Привет всем!

У меня есть массив хэшей: $ah[..]{..}
и хэш массивов $ha{..}[..]

Как можно быстрее всего их удалить?

Как я понял, этот вариант не подходит?
undef %ha;
undef @ah;

Большое спасибо.
Название: Удалить массивы и хеши.
Отправлено: Wyclef от 12 Марта 2002, 23:32:30
По идее все должно работать... т.к.

Массив хэшей - это массив ссылок на хэши
Хэш массивов - это хэш ссылок на массивы

используй 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}; # ничего не выведет