Sąsajos
- Sąsajos yra naudojamos, kai reikia kažkokias išorines (programos atžvilgiu)
struktūras padaryti nesunkiai prieinamas iš perl'o naudojant perl'o sintaksę
- Sintaksė:
- tie(kintamasis,klasė,parametrų_sąrašas)
- Atsiejimo sintaksė
- untie(kintamasis)
- Pavyzdys:
- tie(%db, NDBM_File, "pažymiai", 2, 0600);
- "Surišimui" kviečiami klasės metodai
- TIESCALAR klasė,sąrašas
- Kai surišama su skaliaru
- TIEARRAY klasė,sąrašas
- Kai surišama su masyvu
- TIEHASH klasė,sąrašas
- Kai surišama su asociatyviuoju masyvu
- Metodai turi grąžinti nuorodą į klasės egzempliorių
- Informacijai išgauti ir priskirti naudojami metodai:
- FETCH objektas(skaliaro atveju)
- informacijos išgavimas ($x=$tied_scalar;)
- FETCH objektas,indeksas(masyvo ir asociatyvaus masyvo atvejais)
- informacijos išgavimas ($x=$tied_array[2];)
- STORE objektas,reikšmė (skaliaro atveju)
- informacijos įrašymas ($tied_scalar = "5";)
- STORE objektas,indeksas,reikšmė
(masyvo ir asociatyvaus masyvo atvejais)
- informacijos įrašymas ($tied_array[0] = "5";)
- DESTROY objektas
- kviečiamas, kai klasės egzempliorius turi būti sunaikintas (tiesiogiai ar
netiesiogiai /pasibaigus kintamojo galiojimo sričiai/ vykdoma funkcija untie)
- Asociatyviojo masyvo naudojami metodai:
- EXISTS objektas,raktas
- exists $tied_hash{raktas}
- DELETE objektas,raktas
- delete $tied_hash{raktas}
- CLEAR objektas
- %tied_hash = ()
- FIRSTKEY objektas
- NEXTKEY objektas,paskutinis_naudotas_raktas
- keys(%tied_hash)
- metodui NEXTKEY yra perduodamas prieš tai buves raktas, tam atvejui, jei
tolesnio rakto skaičiavimas priklausytų nuo prieš tai buvusio rakto
-
Duomenų struktūros, failai bei struct atitikmuo
- Kai reikia perl'o objektų struktūrą pritaikyti įrašymui į failą, nuskaityti iš failo
arba perduoti duomenis į kitomis kalbomis parašytus modulius, informacijos formavimui
naudojamas žemiau pateiktos funkcijos
- pack šablonas, sąrašas
- "supakuoja" sąrašo elementus į bitų eilę ir grąžina pastarąją
- unpack šablonas, išraiška
- "išpakuoja" išraiškos reikšmę į atskirus elementus, kuriuos nurodo
šablonas. Grąžina masyvą
- šablonų elementai
- * - nurodo, kad prieš * ėjusiu simboliu aprašytam laukui reikia
skirti tiek vietos, kiek pateiktų duomenų kiekis reikalauja
- skaičius - nurodo, kad prieš skaičių ejusio simboliu aprašytam
laukui reikia skirti tiek pozicijų, koks yra skaičius
- a - ASCII eilutė, papildyta \0
- A - ASCII eilutė, papildyta tarpo simboliu
- b - bitų eilutė, pradedant mažiausios reikšmės bitu
- join("", unpack("b*", pack("c", 65))) == "10000010"
- B - bitų eilutė, pradedant didžiausios reikšmės bitu
- join("", unpack("B*", pack("c", 65))) == "01000001"
- c - signed char
- C - unsigned char
- d - dvigubo tikslumo slankaus taško skaičius "gimtajame" formate
- f - viengubo tikslumo slankaus taško skaičius "gimtajame" formate
- h - šešioliktainis skaičius, mažesnės reikšmės dalimi pirma
- join("", unpack("h*", pack("c", 65))) == "14"
- H - šešioliktainis skaičius, didesnės reikšmės dalimi pirma
- join("", unpack("H*", pack("c", 65))) == "41"
- i - signed int
- I - unsigned int
- l - signed long
- L - unsigned long
- n - short "tinklo" tvarka (big-endian)
- N - long "tinklo" tvarka
- p - nuoroda į eilutę
- P - nuoroda į struktūrą (fiksuoto ilgio eilutę)
- s - signed short
- S - unsigned short
- v - short "VAX" formate (little-endian)
- V - long "VAX" formate (little-endian)
- u - uuencodeinta eilutė
- pack("u", "perlas") == "&<&5R;&%S\n"
- x - nulinis baitas
- X - praleisti baitą
- @ - užpildyti nuliais iki tam tikros pozicijos