и фамилии использовать английские слова
Если бы мы хотели в качестве индексов имени и фамилии использовать английские слова name и surname, то этот же ассоциированный массив можно было бы задать следующим оператором:
%т = (
Name => "Ларри",
Surname => "Уолл" );
Добавить новый элемент ассоциативного массива или изменить значение существующего очень легко. Достаточно присвоить его элементу, определяемому заданным ключом, значение в операторе присваивания:
$т{"Имя"} = "Гарри"; # Изменили значение существующего элемента. $т{"Телефон"} = "345-56-78"; # Добавили новый элемент.
Если при использовании подобной конструкции ассоциативный массив еще не существовал, то при выполнении операции присваивания сначала будет создан сам массив, а потом присвоится значение его элементу. Ассоциативные массивы, как и массивы скаляров, являются динамическими: все добавляемые элементы автоматически увеличивают их^размерность.
Удалить элемент ассоциативного массива можно только с помощью встроенной функции delete:
delete($m{"Телефон"}); # Удалили элемент с ключом "Телефон".
Совет
При изменении значения элемента ассоциативного массива с помощью ключа следует проверять правильность его задания (отсутствие дополнительных пробелов, регистр букв), так как в случае несоответствия заданного ключа элемента с существующими в хеш-массив просто добавится новый элемент с заданным ключом
При работе с ассоциативным массивом часто требуется организовать перебор по множеству всех его ключей или значений. В языке существуют две встроенные функции — keys и values, которые представляют в виде списка, соответственно, ключи и значения ассоциативного массива, Следующий фрагмент программы
print keys(%m), "\n"; # Печать ключей. print values(%m), "\n";
# Печать значений.
отобразит на экране монитора строку ключей и строку значений массива %т
Фамилия Имя Телефон УоллЛарри345-56-11
Обратите внимание, что они отображаются не в том порядке, как задавались с помощью конструктора массива.
Содержание Назад Вперед