Perl referencia bemeneti funkciókhoz

Felkészíti a DESCRIPTOR leíráshoz társított fájlt bináris formátumban történő olvasásra és írásra, és nem szövegben, olyan operációs rendszerekben, amelyek megkülönböztetik a bináris és a szöveges fájlokat. A Unix-ban ez a funkció nincs hatással; az MS-DOS-ban és más archaikus rendszerekben szükséges, különben a bináris fájl sérült lehet.

Megszakítja a hash tömb és a DBM adatbázis fájljának kötését. Cserélve kioldva ().

Létrehoz egy hash tömböt, amely a DBM adatbázishoz kötődik, amelynek nevét a FILE_DB paraméter értéke határozza meg. Cserélve a tie () függvénnyel. Az adatbázis fájl megnyílik a MODE paraméterben megadott üzemmódban.

Kívül a eval függvény a test () megjelenik egy lista a tételek által megadott paraméterek listája a standard hiba fájlt, és STDERR befejezi a Perl script az aktuális érték a speciális változó $. Ha az eval () függvényt a szervezetben használják, akkor a hibaüzenet a $ @ változóba kerül, és az eval () függvény nem definiált értékkel fejeződik be. Ez a viselkedés lehetővé teszi a die () függvény használatát kivételes állapotok létrehozásához.

Ezt a programvégrehajtással kapcsolatos funkciókban is használják.

A DESCRIPTOR paraméter által megadott leíróhoz tartozó fájlt a fájl végére teszteli. 1-et ad vissza, ha a fájl következő olvasási művelete visszaadja a fájl végét. Paraméter nélkül használatos, paraméterként használja azt a fájlt, amelyhez az utolsó olvasási műveletet végrehajtotta. Ha az eof () üres zárójelekkel együtt használják, akkor a legutóbbi fájl végső karakterét teszteli a parancsfájlba küldött fájlok listáján.

Visszaadja a DESCRIPTOR paraméter által megadott leíróhoz tartozó fájl számrendszeres leírását.

A DESCRIPTOR paraméter által megadott leíróhoz társított fájlt blokkolja, az OPERATION paraméter által meghatározott műveletek más felhasználók általi végrehajtásához. A Boolean true értéket adja vissza, ha a fájl sikeresen lezárva van, és hamis módon. Zárolja a teljes fájlt, nem az egyes rekordokat.

A write () függvény által kiadott formátumot deklarálja.

A FAT NAME paraméter a helyes Perl-azonosítót jelöli. Pontosan meg kell egyeznie a fájlleírási névvel, amelyet az írás () kimenet funkciójának egyetlen paramétereként használnak.

A getc függvény egy olyan karaktert jelenít meg a fájl aktuális pozíciójában, amelynek leírója paraméterként átadódik, vagy egy nem definiált érték, ha a fájl végét elérte vagy hiba lép fel. Ha egy függvényt paraméter nélkül hívnak le, a karaktert a szabványos STDIN kimeneti fájlból olvassa le.

Itt a DESCRIPTOR azt a fájlleírást képviseli, amelyhez a függvény a LIST kimeneti listán szereplő stringadatokat adja ki. Tartalmazhat változókat, tömbelemeket és kifejezéseket, amelyeket stringadatokként értékelnek. A fájlleírást a () függvény hozza létre. Elhagyható, és ebben az esetben a kimenet az STDOUT szabványos kimeneti fájllal történik, kivéve, ha a select () függvény egy másik alapértelmezett kimeneti fájlt választ. A szokásos szabványos kimeneti eszköz a számítógép képernyője.

A nyomtatási funkció nem vonja be az "n" újsorral a lista megjelenítésekor. Ez azt jelenti, hogy a következő nyomtatási funkció közvetlenül az utolsó nyomtatási funkció által kinyomtatott karakter után indul el. Ha ez a viselkedés nem kívánatos, akkor minden egyes nyomtatási feladat kimeneti listáját explicit módon le kell zárni az új sor karaktert tartalmazó karakterlánccal, vagy fel kell tüntetni a kimeneti lista utolsó elemének utolsó karakterével.


Ez történik a képernyőn.


A második nyomtatási funkció elindítja a kimenetet ugyanazon a vonalon, amelyen az első funkció befejeződött, amelyben nincs újsor karakter a kimeneti listában. A negyedik függvény kifejezetten meghatározza az STDOUT szabványos kimeneti fájl leíróját. A nyomtatási funkció, mint a legtöbb egyéb funkció, egy lista művelet, és a kimeneti lista összes elemét listali kontextusban értékelik. Ezt a körülményt figyelembe kell venni, ha az alprogramhívásokat a kimeneti lista elemeként használja. Ha a nyomtatási függvény paraméterei, beleértve a fájlleírót is, zárójelbe vannak zárva, akkor ez a szintaktikai struktúra kifejezésnek tekintendő, és a kifejezésben a legmagasabb prioritás.

A $ m és $ n változók értékeinek összege kinyomtatva lesz, nem az összegük, négyzet. A perl-fordító, miután megtalálta a bal zárójelet a token után, megtalálja a megfelelő zárójelet, és megvizsgálja a tartalmát a nyomtatási funkció paramétereinek listájaként. És mivel egy ilyen konstrukció egy kifejezés, először a változók értékeinek összegzésének műveletét kell végrehajtani, majd ennek a műveletnek az eredményét (Truth = 1) négyzetre kell besorolni. Az opcionális leíró leírása a STDOUT szabványos kimeneti fájlhoz rögzíti ezt a hibát.

Ha a nyomtatási funkció nem adja meg a kimeneti listát, a DESCRIPTOR paraméter által megadott fájlban a $ _ speciális változó alapértelmezett értéke.

A stringadatok formázott listáját kinyomtatja a DESCRIPTOR paraméter által megadott leíróhoz társított fájlban. Ha ezt a paramétert elhagyják, a kimenet az STDIN szabvány kimeneti fájlra vagy a select () függvény aktuális fájljára van állítva. A FORMAT paraméter olyan formázó karaktereket tartalmazó karakterláncot jelent, amely teljesen illeszkedik a Unix rendszerfunkció printf (3) formázó karaktereihez.

Tegyük fel, hogy az in.dat fájl három sornyi adatot tartalmaz:

Beállítja a DESCRIPTOR leíráshoz társított könyvtár aktuális pozícióját a kezdethez.

A fájl aktuális pozíciója automatikusan megváltozik az elvégzett olvasási / írási műveletek alapján. A help (seek) függvény segítségével megváltoztatható, amelyet paraméterekként file descriptor, offset és referenciapont ad át. A fájlleíróhoz társított fájlhoz egy új aktuális pozíciót állít be, amelyet az OFFSET paraméter által meghatározott referenciaponthoz tartozó byteek száma ellensúlyoz.

A POINT_OFFECT paraméter három érték közül egyet tartalmazhat:

  • 0 - a fájl kezdete
  • 1 - aktuális pozíció
  • 2 - a fájl vége

Az elmozdulás lehet pozitív vagy negatív. Általában negatív az offset a fájl végéhez képest, és pozitív a fájl kezdetéhez képest eltolva. Állítsa be a referenciapontot, akkor állandók SEEK_SET, SEEk_CUP SEEK_END és a modul IO :: kereshető, amelyek megfelelnek a fájl elejére, a jelenlegi helyzet és a végén a fájlt. Természetesen ezt a modult kell csatlakoztatni a programhoz a kulcsszó használatával.

Például a következő operátorok azonos fájlokat állítanak be a fájlokban:

A fájl elejére vagy végére történő ugráshoz a keresési () függvény eléréséhez a megfelelő referenciapontokhoz képest nulla eltérést kell használnia:

A readdir () függvényhez a leíróhoz (DESCRIPTION paraméter) társított könyvtár aktuális pozícióját állítja be. A POSITION paraméternek a telldir funkció által visszaadott értéknek kell lennie.

Visszaadja a jelenleg telepített kimeneti fájl leíróját. Ha a DESCRIPTOR meg van adva, az ezzel a kezelõvel társított fájl az aktuálisan telepített kimeneti fájl. Ez a nyomtatási () és írási () függvényeket írja le leíró fájlok nélkül.

Meghívja az átvitt listafüggvény első elemének (LIST paraméter) által megadott rendszerkomentert; A lista többi elemét paraméterként átadják a parancsnak. Ha a rendszer parancs sikertelen, visszatér a -1 és a $ változóba! tartalmaz információkat a hibáról.

Az read () függvényhez hasonlóan, kivéve, hogy nem pufferelt adatbevitelt használ, anélkül, hogy standard stdio I / O puffert használna.

A fogantyú által megadott DESCRIPTOR paraméterhez tartozó fájl aktuális pozícióját adja vissza. Ha a paramétert elhagyják, az az utolsó fájl, amelyre az adatleolvasási művelet végrehajtásra került, beleértendő.

A megadott DESCRIPTOR paraméterrel társított könyvtárban az aktuális pozíciót adja vissza egy leíró.

A csonkolás () függvény csonkítja a fájlt a megadott hosszúságúra. Fájl megadása esetén használhatja a fájlnevet és a megnyitott fájlleírást is.

A függvény True értéket ad vissza, ha a fájl hosszúságát a LENGTH paraméterben megadott bájtok számával vagy az undefined undef másként írja le. A fájl csonkolása alatt nemcsak a hossza csökkenése, hanem a növekedés is. Ez azt jelenti, hogy az érték a második paraméter funkció csonka () nagyobb lehet, mint a valódi hosszát a fájlt, amely lehetővé teszi, hogy a „lyuk” a fájl tartalmát, amely alkalmas lehet rögzíteni a szükséges információt elpusztítása nélkül korábban rögzített fájl.

Példa (Fájl "lyukakkal"):

Az első ciklus minden egyes lépésénél a 7 byte információ az out.dat fájl végére van írva, majd annak hossza 12 byte-kal nő, ami üres helyet képez a fájlban. A hurok esetében a következőket írja be a létrehozott "lyukakba", 12 bájt hosszúsággal, anélkül, hogy felülírná a fájlban tárolt információkat. A fájl hosszúságának módosításához zárja be a csonkolási funkciót, és nyissa meg újra. Ennek oka, hogy a függvény csonkolása () üres helyet ad hozzá a fájl elejéhez, áthelyezi a tartalmát a végére, ha alkalmazza, a fájl bezárása nélkül. Az első ciklus végrehajtása után az out.dat fájl tartalma így néz ki:

Az egész program végén a fájl a következő sort tartalmazza:

A szabványos STDERR hiba fájlhoz a LIST paraméter által meghatározott listaelemek értékeit adja ki. Ha üres, akkor megjeleníti a tartalmát a speciális változó $ @ után (általában az eval függvény), úgy, hogy a vonal „t fogott.” És ha üres, akkor megjelenik az üzenet: „Figyelem! Valami-s rossz”

Formázott kimenetet hajt végre egy fájlhoz A megadott DESCRIPTOR paraméterrel egy leíróval, egy adott formátumnak megfelelően. Ha a paraméter nincs megadva, az STDOUT kimenetet a szabványos kimeneti fájlra vagy a select () függvény által kiválasztott fájlra továbbítja.

Kapcsolódó cikkek