Pregătește un dosar asociat cu descriptori descript pentru citire și scriere în format binar, nu în text, în sistemele de operare care fac o distincție între fișiere binare și text. În Unix, această funcție nu are efect; este necesară în MS-DOS și în alte sisteme arhaice, altfel fișierul binar poate fi corupt.
Aceasta rupe legarea matricei hash și a fișierului bazei de date DBM. Înlocuit cu untie ().
Creează o legare hash care se leagă la fișierul bazei de date DBM, al cărui nume este determinat de valoarea parametrului FILE_DB. Înlocuit de funcția cravată (). Fișierul bazei de date este deschis în modul specificat de parametrul MODE.
În afara funcției eval a corpului () afișează o listă de elemente specificate de lista de parametri la fișierul de eroare standard și STDERR completează scriptul Perl cu valoarea curentă a variabilei $ speciale. Dacă funcția eval () este folosită în corp, mesajul de eroare este plasat în variabila $ @ iar funcția eval () se termină cu o valoare nedefinită. Acest comportament permite folosirea funcției die () pentru a genera stări excepționale.
Este, de asemenea, utilizat în funcțiile legate de gestionarea execuției programelor.
Testează fișierul asociat descriptorului specificat de parametrul DESCRIPTOR la sfârșitul fișierului. Returnează 1 dacă următoarea operație de citire din fișier returnează sfârșitul fișierului. Folosit fără parametru, utilizează ca parametru fișierul pentru care a fost efectuată ultima operație de citire. Dacă este utilizat cu paranteze goale eof (), testează caracterul final al celui mai recent fișier din lista de fișiere trimise către script prin intermediul liniei de comandă.
Returnează un descriptor de sistem numeric pentru fișierul asociat descriptorului specificat de parametrul DESCRIPTOR.
Blochează fișierul asociat descriptorului specificat de parametrul DESCRIPTOR, pentru executarea de către alți utilizatori a operațiilor definite de parametrul OPERATION. Returnează valoarea True Boolean dacă fișierul este blocat cu succes și False altfel. Închide întregul fișier, nu înregistrările individuale.
Declară formatul utilizat pentru ieșire de către funcția write ().
Parametrul FAT NAME reprezintă identificatorul Perl corect. Trebuie să se potrivească exact cu numele descriptorului de fișier, care este folosit ca singurul parametru din funcția de ieșire write ().
Funcția getc returnează un caracter la poziția curentă a fișierului al cărui descriptor este transferat ca parametru sau la o valoare nedefinită dacă se ajunge la sfârșitul fișierului sau apare o eroare. Dacă o funcție este apelată fără un parametru, ea citește caracterul din fișierul de ieșire standard STDIN.
Aici, DESCRIPTOR reprezintă descriptorul de fișier la care funcția scoate datele șir reprezentate de lista de ieșire LIST. Acesta poate consta din variabile, elemente de matrice și expresii, evaluate ca date de șir. Descriptorul de fișiere este creat de funcția open (). Acesta poate fi omis, iar în acest caz, ieșirea se face la fișierul de ieșire standard STDOUT, cu excepția cazului în care funcția select () selectează un alt fișier de ieșire implicit. Dispozitivul obișnuit de ieșire standard este ecranul monitorului computerului.
Funcția de imprimare nu o înfășoară cu linia nouă "n" atunci când afișează lista. Aceasta înseamnă că următoarea funcție de imprimare va începe să iasă imediat după ultimul caracter imprimat de funcția de imprimare anterioară. Dacă acest comportament nu este dorit, atunci lista de ieșire a fiecărei funcții de tipărire trebuie să fie terminată în mod explicit cu un șir care conține caracterul de linie nouă sau să îl includă cu ultimul caracter al ultimului element al listei de ieșire.
Asta se întâmplă pe ecran.
A doua funcție de imprimare își începe ieșirea pe aceeași linie pe care a fost terminată prima funcție, în care nu există niciun caracter nou în lista de ieșire. A patra funcție specifică explicit descriptorul fișierului de ieșire standard STDOUT. Funcția de tipărire, la fel ca majoritatea celorlalte funcții, este o operație de listă și toate elementele din lista de ieșire sunt evaluate într-un context al listei. Această circumstanță ar trebui luată în considerare atunci când se utilizează expresii cu apeluri subprogram ca elemente ale listei de rezultate. Dacă parametrii funcției de tipărire, inclusiv descriptorul de fișiere, sunt închise în paranteze, atunci această structură sintactică este considerată un termen și are cea mai mare prioritate în expresie.
Suma valorilor variabilelor $ m și $ n va fi tipărită, nu suma lor, pătrat. Compilatorul Perl, după ce a găsit paranteza stângă după token, găsește paranteza dreaptă și privește conținutul lor ca listă de parametri pentru funcția de tipărire. Și deoarece o astfel de construcție este un termen, funcționarea tipăririi sumelor valorilor variabilelor va fi efectuată mai întâi, iar rezultatul acestei operații (Adevăr = 1) va fi pătrat. Adăugarea unui descriptor opțional la fișierul de ieșire standard STDOUT va remedia această eroare.
Dacă funcția de imprimare nu specifică o listă de ieșire, aceasta implică conținutul variabilei speciale $ _ din fișierul specificat de parametrul DESCRIPTOR.
Imprimă o listă formatată de date de șir într-un fișier asociat cu descriptorul specificat de parametrul DESCRIPTOR. Dacă acest parametru este omis, ieșirea se face la fișierul de ieșire standard STDIN sau la fișierul curent setat de funcția select (). Parametrul FORMAT reprezintă un șir care conține caractere de formatare care se potrivesc complet cu caracterele de formatare ale funcției de sistem Unix printf (3).
Să presupunem că fișierul in.dat conține trei rânduri de date:
Setează poziția curentă a directorului asociat descriptorului DESCRIPTOR la început.
Poziția curentă din fișier se modifică automat în funcție de operațiile de citire / scriere efectuate. Acesta poate fi schimbat cu funcția help seek (), care este trecut ca parametru un descriptor de fișier, un offset și un punct de referință. Pentru fișierul asociat cu descriptorul de fișiere, este setată o nouă poziție curentă, compensată de numărul de octeți specificați de parametrul OFFSET față de punctul de referință.
Parametrul POINT_OFFECT poate lua una din cele trei valori:
- 0 - începutul dosarului
- 1 - poziția curentă
- 2 - sfârșitul dosarului
Deplasarea poate fi pozitivă sau negativă. De obicei, este negativ pentru offset față de sfârșitul fișierului și este pozitiv pentru offset față de începutul fișierului. Pentru a seta punctul de referință, puteți utiliza constante SEEK_SET, SEEk_CUP SEEK_END și din modulul IO :: Seekable, care corespund la începutul fișierului, poziția curentă și sfârșitul fișierului. Firește, trebuie să conectați acest modul la program utilizând cuvântul cheie de utilizare.
De exemplu, următorii operatori stabilesc aceleași poziții curente în fișiere:
Pentru a trece la începutul sau la sfârșitul unui fișier, trebuie să utilizați un decalaj zero față de punctele de referință corespunzătoare atunci când accesați funcția search ():
Setează poziția curentă a directorului asociat descriptorului său (parametrul DESCRIPTION), pentru funcția readdir (). Parametrul POSITION trebuie să fie valoarea returnată de funcția telldir.
Returnează descriptorul fișierului de ieșire instalat curent. Dacă este specificat DESCRIPTOR, fișierul asociat cu acest mâner este fișierul de ieșire instalat curent. Acest lucru face ca funcțiile print () și write () fără descriptori să fie trimise la acel fișier.
Invocă comanda de sistem specificată de primul element al funcției listei transferate (parametrul LIST); Elementele rămase din listă sunt transmise acestei comenzi ca parametri. Dacă comanda sistemului nu reușește, acesta returnează -1 și în variabila $! conține informații despre eroare.
Similar cu funcția citire (), cu excepția faptului că nu introduce date tampon, fără a utiliza tampoane standard I / O stdio.
Returnează poziția curentă în fișierul asociat parametrului DESCRIPTOR specificat de mâner. Dacă parametrul este omis, atunci ultimul fișier pentru care a fost executat operația de citire a datelor este implicit.
Returnează poziția curentă în directorul asociat parametrului DESCRIPTOR specificat printr-un descriptor.
Funcția truncate () trunchiază fișierul la lungimea specificată. Pentru a specifica un fișier, puteți utiliza atât numele fișierului, cât și descriptorul fișierului deschis.
Funcția returnează Adevărat dacă lungimea fișierului este trunchiat cu succes la numărul de octeți specificat în parametrul de lungime, sau undef altfel. Sub trunchierea dosarului se înțelege nu numai o scădere a lungimii, ci și o creștere. Aceasta înseamnă că valoarea funcției trunchierea de-al doilea parametru () poate fi mai mare decât adevărata lungime a fișierului, care vă permite să facă o „gaură“ în conținutul fișierului, care pot fi apoi folosite pentru a înregistra informațiile de care aveți nevoie, fără a distruge înregistrate anterior în fișierul.
Exemplu (Fișier cu "găuri"):
La fiecare pas al primei pentru bucla, informația de 7 octeți este scrisă la sfârșitul fișierului out.dat, iar apoi lungimea sa este mărită cu 12 octeți, formând un spațiu gol în fișier. Următoarele pentru buclă scrie informații în "găuri" create cu o lungime de 12 octeți, fără a suprascrie informațiile stocate în fișier. Pentru a modifica lungimea unui fișier, utilizați funcția de trunchiere pentru al închide și a redeschide. Acest lucru se datorează faptului că funcția truncate () adaugă spațiu gol la începutul fișierului, schimbându-i conținutul până la capăt, dacă îl aplicați, fără a închide fișierul. După executarea primului buclă, conținutul fișierului out.dat arată astfel:
La sfârșitul întregului program, fișierul va conține următoarea linie:
Afișează la fișierul standard de eroare STDERR valorile elementelor listă definite de parametrul LIST. Dacă este goală, se afișează conținutul special de variabila $ @ (de obicei, după funcția eval), prin adăugarea de linie, Și dacă este goală, se afișează mesajul „T prins.“ „Avertisment: Ceva-i greșit“
Efectuează o ieșire formatată într-un fișier asociat parametrului DESCRIPTOR specificat printr-un descriptor, conform unui format specific. Dacă parametrul nu este specificat, acesta emite STDOUT la fișierul de ieșire standard sau la fișierul selectat de funcția select ().