Hash * este similar cu matricea pe care am discutat mai sus, prin faptul că este un set de date scalare ale căror elemente individuale sunt selectate de valoarea indexului. Spre deosebire de mase
Elementele unui hash nu stau într-o anumită ordine. Puteți să le tratați ca un teanc de cărți bibliografice. Partea superioară a fiecărui card este cheia, iar partea de jos
partea corespunzătoare a numelor variabilelor scalare și a matricelor. În plus, nu există nicio legătură între $ fred și
print "Ultimul nume al primului $ este $ last \ n";
Atribuirea unei noi valori pentru hash-ul întreg face ca fiecare funcție să meargă la început. Adăugarea elementelor la hash și eliminarea de la
Deci, puteți adăuga elemente la hash, dar nu le puteți șterge încă (excepție făcând atribuirea unei noi valori întregului hash). Pentru a elimina elementele hash în Perl
Toate acestea pot fi scrise într-o singură linie:
Dar chiar este prea lung, deci hai sa folosim felia de hash:
Asta e mult mai scurt. Puteți combina utilizarea unei șabloane de tip hash și interpolarea variabilă:
@players = dinam barney);
tipărire "sunt: @score (@players> \ n";
Modelele de șarpe pot fi, de asemenea, folosite pentru a îmbina un hash mic cu un hash mai mare. În acest exemplu, un hash mai mic are prioritate în sensul că, dacă există chei duplicate,
Aici, scorul% de valoare hash se îmbină cu hash-ul liga%. Aceasta este echivalentă cu
% league = (% liga,% scor); = # combinați scorul% cu% ligă
1. Scrieți un program care citește un șir și apoi tipărește această linie și valoarea corespunzătoare conform tabelului de mai jos: