Mi a hash
Egy hash egy adatstruktúra, amely, mint a tömb tartalmazhat tetszőleges számú elem, és kiválasztásuk szükség. De ahelyett, hogy egy numerikus index mintavétel történik tömbök, hash a minta által végzett nevét. Más szóval, az indexek (itt nevezzük őket billentyűk) nem számok, hanem bármilyen egyedi karaktersorozat. A kulcsok szálakat. Ennek megfelelően, ahelyett, hogy a mintavétel a tömbelem száma 3, fordulunk hash elem nevű Wilma.
A billentyűk tetszőleges karakterlánc - bármilyen szöveges kifejezést lehet használni, mint egy hash kulcsot. Ezen felül, ezek egyedi: ahogy a tömbben csak egy elem a számot a hash csak az egyik eleme a legfontosabb wilma. A hash is leírható, mint a „hordó az adatok”, amelyben minden elem kapcsolódik címkét. Meg lehet futtatni a kezét a csőbe húzza ki bármelyik címkét és milyen adatok alapján „lefagy”. Azonban a hordó nincs „első” elem, minden elemei keverednek. A rendezési tömbelem kezdődik 0, majd az 1 elem, majd 2 elem, és így tovább. D. A hash, nem meghatározott sorrendben, vagy az első tag.
Ennek tartalma a párok halmaza „név-érték”.
Kulcsok és értékek tetszőleges skalár érték, de a gombok mindig alakítjuk szálakat. Következésképpen, ha egy numerikus kifejezés használatát 50/20 mint klyucha1, átalakul egy sor három karakter „2.5” megfelel az egyik kulcsa. Mint mindig, működési filozófia elfogadott Perl „mesterségesen nem korlátozható” hash lehet tetszőleges méretű - az üres hash zéró párok „kulcs-érték”, hogy töltse ki a teljes szabad memóriát. Egyes megvalósítások hash (például a awk nyelv, ahonnan Larry kölcsönzött az ötletet), és lassabban dolgozik, hogy növelje a hash. Perl nem - ez használ egy jó hatásos skálázható algoritmust. Így, ha a hash csak három pár „kulcs-érték”, nagyon gyorsan a Perl „eléri a csőbe”, és eltávolítja a kívánt elemet. Ha a hash is három millió pár, mintavételi kerül sor szinte azonos ütemben. Ne félj a nagy hash-eket. Azt is érdemes emlékeztetni újra, hogy a gombok mindig egyediek, míg értékeket lehet ismételni. A hash tárolható számok, karakterláncok, undef értéket, bármilyen kombinációban. Ebben az esetben a kulcsokat kell tetszőleges, de egyedi karaktersorozat.