Kis gyik Perl nyelven

Ezért meg kell tanulni a nyelvet hozzon létre programok futnak a szerveren. Általában ezeket a kifejlesztett Perl (Gyakorlati Extraction and Report Language gyakorlati kitermelése és beszámolási nyelv), is alkalmazható az információ feldolgozása folyik. Kezdetben azt feltételezték, hogy használni fogják a Unix operációs rendszer, de a jövőben Perl kezdett áttérni más platformokon, és most létezik különböző változatokban Unix, Windows, MS-DOS, OS / 2, MacOS, Amiga, Atari ST, VMS , Plan 9, és mások.

Miért van szükség a Perl?
Perl célja, hogy végezze el a feladatait parancs Unix szkriptek azokban az esetekben, amikor túl kemény, rosszul tolerálták vagy nehezen programot egy másik nyelven, például C. Előfordul, hogy a tartalma Perl-programok tűnik az átlagember, mint egy véletlenszerű halmaza karakterek, de természetesen van egy ellenőrző, és minden az ő karaktere a kinevezését.

Fejlesztésére és tesztelésére Perl-programokra van szükség:

1. lista Példa egy Perl programot
# / Usr / local / bin / perl @passwords = QW (inet alap nettó) !; print Adja meg a bejelentkezési:; $ Login =; chomp ($ login); if ($ bejelentkezés ekv Root) más elseif ($ i dolgozni Microsoft, MY => írni ezt a cikket, BC => munka, mint az elnök USA);
Indexek és elemei a tömb lehet zárt aposztróf és idézőjelbe. Felsorolni az összes értékeit AM, akkor használja a foreach utasítást. Célja a szervezet a ciklusok, csakúgy, mint mások, különösen darabig. Érheti a kulcsokat és értékeket a szereplők kulcsokat és értékeket.

Különleges asszociatív tömb% ENV tartja a tartalmát minden változó, indexált név szerint. Tehát $ ENV visszaadja az aktuális értékét a keresési útvonalat. Van is egy funkciója az egyes, így egy listát, amely áll két eleme egy kulcsot és egy értéket. Minden alkalommal, amikor hívást, visszatér egy új pár, például

while (($ key, $ érték) = egyes% ENV)
Fájlok és könyvtárak
A normál működés Perl fájlokat és könyvtárakat kell emlékezni néhány fontos eljárásokat (lásd. Táblázat).

A leíró egy speciális fajtája szimbolikus változók (string-). Fájlleírók, valamint a címkék nélkül alkalmazzák speciális előtag jellegű, így lehet, hogy összetéveszthető a már meglévő vagy fenntartott szavak (rutinok, utasítások, stb.) Ha a programozás egy leíró nevet ajánlott levelet csak nagybetűvel. Először is, ezek könnyen megkülönböztethető a többi szöveget, másrészt, mert ez a program megfelelően hajtják végre. Leíró tipikusan egy „név” fájl, amelyet a felhasználó utal. Mint programozás Basic, Pascal vagy C / C ++, Perl deszkriptorok hasonló változók jelen a szintaktikai műveletek nyitás, zárás, olvasása vagy írása egy fájlt. Mint más nyelveken, Perl is használ leírásokat műveletek manipulálni a fájl tartalmát. Vannak azonban más lehetőségek azok alkalmazását.

Három különböző módon lehet megnyitni a fájlt olvasásra (read), kiegészítések (append) és írási (write).

olvasási mód (Read) a legkönnyebb. Syntax nyitott működése a következő:

nyitott (fogantyú, filename.txt);
nyitott nyilatkozatot, amely a fájl megnyitásakor. Zárójelben a következtetésre jutottak, FOGANTYÚ leíró fájl. A jövőben, ha olyan műveletet végez a fájl filename.txt és annak tartalmát az meg fogja kapni a referencia a programban. Az idézetek kell fájlnevet.

Olvasásához be egy fájlból úgynevezett művelet végrehajtása rombusz, amelyet ():

nyitott (fogantyú,> filename.txt);
írja szintaxis ellentétben olvasható szintaxis csak a fájl neve áll szimbólum „nagyobb, mint” (>). Ez a jel azt jelzi, hogy meg kell határozni idézőjelben fájlt, és írjuk be, vagy frissítés (ha már létezik) a tartalmát. Ahhoz, hogy rögzítse az adatokat, akkor kell, hogy kérjen segítséget a print kifejezés:

nyitott (fogantyú,> filename.txt); print összes írási ezt a szöveget a fájlt. ;
Mode, mielőtt megpróbál megnyitni egy fájlt olvasásra adott hamis, az azt jelenti, hogy a fájl nem található, vagy az ahhoz való hozzáférés tilos. És ha megnyit egy fájlt a bemeneti adatok, ez az érték kerül visszaadásra, arra lehet következtetni, hogy vagy a fájl írásvédett, vagy nem tud írni a könyvtárba, vagy az ahhoz való hozzáférés. Ha akkor a program fejezi be munkáját, illetve, hogy nyissa meg újra a fájlt, akkor nem kell, hogy lezárja azt követően a munka végén nyitott fájlműveletet bezárja korábban részt leíró. Mindazonáltal, ez jobb, hogy zárja be a fájlt egy közeli működését. Egy ilyen szerkezet „jó hang” programozás alatt:

bezár (fogantyú);
Hibakeresés. Minden alkalommal, amikor megnyit egy fájlt a ésszerű felhasználása nyílt die operátor operátor. Előfordul, hogy a kép valamilyen okból nem lehet rendesen megnyitni. A program úgy tűnik, hogy végre szükség, és a fájl rögzítésének nem ezt vártuk. Ebben az esetben a matrica operátor megszakítja a program végrehajtását, és egy hibaüzenet jelenik meg, amikor egy fájl megnyitásakor.

A szintaxis a nyílt és meghalni összehangolás használt „logikai VAGY» (||):

nyitott (fogantyú, >> filename.txt) || die Hiba történt a fájl filename.txt $!;
a matrica, ami lehet fordítani angolra a „Nyitott or Die”, kilépünk a programból. Kapok egy hibaüzenetet, valamint tájékoztatás mi okozta. Perl információt tárol az utolsó rendszer hiba lép fel a különleges változó $. Ha a függvény húzógyűrűbetét $. Az OS lesz további tájékoztatás érkezett, hogy segítsen debug programot.

Ellenőrzés fájlokat. Most megnyitni egy fájlt leíró írásra, megsemmisítésével a meglévő fájlt ugyanazzal a névvel. De ehhez először meg kell ellenőrizni, hogy a fájl létezik azonos nevű, hogy ne töröljön fontos adatokat. Meg kell hasonló a következő:

$ Filename = filename.txt; if ($ -e fájlnév) más
És néhány kép, akkor megtudja, ha léteznek olyan időpontban, csak azért, hogy elpusztítsa az első sorban az előző példában, és cserélje ki a második szerkezet

if (-e filename.001 -e filename.002) <
Rengeteg olyan egyéb tevékenységek, hogy ellenőrizze a fájlokat. Például, hogy ellenőrizze, hogy minden fájlt, és képes olvasni belőle, meg kell futtatni helyett a művelet -e -r, és abban az esetben a követelés W felvételi képességeit. Akkor nézd meg ugyanazt a fájlt a rendelkezésre álló olvasás és írás információ a következő módon:

@files =; foreach (@files)
A legtöbb ilyen tesztek, és van körülbelül 20 visszaadja igaz vagy hamis.

Különbségek a Win32. Amikor dolgozik Perl Windows alatt, vannak árnyalatok, hogy tisztában legyenek. Először is, meg kell adni a teljes elérési utat (beleértve a meghajtó betűjelet), amelyre kerül sor minden olyan intézkedés, mint például a

nyitott (fogantyú, c: /scripts/newfile.txt) || die sikerült megnyitni ac: /scripts/newfile.txt $!; ... bezár (handle);
Másodszor, a fájl zár fordul elő másként, mint a Unix-alapú rendszerek. Ha Windows 9.x ez a művelet nem támogatott egyáltalán, és a Windows NT történik egy nagyon sajátos előtt parancsok végrehajtása másolni vagy átnevezni egy fájlt meg kell győződnie arról, hogy már becsukta. Ellenkező esetben, csak nem futott.