Хеш * схожий на масив, який ми розглядали вище, тим, що являє собою набір скалярних даних, окремі елементи якого вибираються по індексному значенням. На відміну від мас
Елементи хешу не варті в якомусь конкретному порядку. Можете розглядати їх як стопку бібліографічних карток. Верхня половина кожної картки - це ключ, а нижня
відповідну частину імен скалярних змінних і масивів. Крім того, точно так само, як немає ніякого зв'язку між $ fred і
print "The last name of $ first is $ last \ n";
Присвоєння нового значення всьому хешу змушує функцію each перейти в його початок. Додавання елементів в хеш і видалення з
Отже, ви можете додавати елементи в хеш, але поки не можете видаляти їх (крім як шляхом привласнення нового значення всьому хешу). Для видалення елементів хешу в Perl
Все це можна записати одним рядком:
Але навіть вона занадто довга, тому давайте використаємо зріз хешу:
Ось так набагато коротше. Можна поєднувати використання зрізу хешу і інтерполяції змінних:
@players = qwffred barney dino);
print "scores are: @score (@players> \ n";
Зрізи хешів можна також використовувати для злиття невеликого хешу з більшим. У цьому прикладі менший хеш має пріоритет в тому сенсі, що при наявності ключів-дублікатів використовується значени
Тут значення хешу% score зливаються з хешем% league. це еквівалент
% League = (% league,% score); = # Злити% score з% league
1. Напишіть програму, яка читає рядок, а потім виводить цей рядок і відповідне їй значення відповідно до наведеної нижче таблиці: