Tanulási perl, 1. rész, programozás, cikkek, könyvtár linukstsentra, - a szakértő Linux és

Learning Perl, 1. rész

Mint minden modern programozási nyelvek, Perl objektum-orientált. Az is lehetséges, hálózati programozás (például, programozás foglalat). Program Perl könnyen portolni (jól megírt szkript fut Linux, BSD, Solaris, DOS, Win9x, NT, MacOS, OS / 2, AmigaOS, VMS és más platformokon nélkül forráskód módosítása).

Nem számít, mennyi ideig használja a Linux - bizonyára már hallott a Pearl; még az is lehetséges, hogy már fut egy nagy szám a scriptek, anélkül, hogy tudnánk. Programok, mint például iNews, tükör, debconf, háznagy, SIRC és sokan mások Perl-ben írt és Perl csak. Ha egy disztró Debian „uszító” zgrep on Packages.gz fájl - kiderül, hogy 382 csomag függ Perl (ez azt jelenti, hogy a nagy részét a csomag Perl-ben írt), és 28 egyéb csomagok Javasoljuk, hogy a Pearl.

Miért Pearl jó?

Pearl gyönyörű szövegszerkesztő, valamint a beilleszkedés egy teljesen más dolog. Végtére is, egy programozási nyelv (szkriptek) - mindezen különböző dolgok valójában egy és ugyanaz.
--John Ousterhout, alkotója a Tcl script nyelv.

Mint minden modern programozási nyelvek, Perl objektum-orientált. Az is lehetséges, hálózati programozás (például, programozás foglalat). Program Perl könnyen portolni (jól megírt szkript fut Linux, BSD, Solaris, DOS, Win9x, NT, MacOS, OS / 2, AmigaOS, VMS és más platformokon nélkül forráskód módosítása). A program gyors hibakeresés, mert nem kell összeállítani - csak megváltoztatni a kódot, és futtatni a szkriptet. Számos kiegészítő modul (végrehajtása szabványos megoldások), amely bármilyen feladatot. Van is egy Comprehensive Perl Archive Network (CPAN) - a legjobb álma Perl-programozó.

Igen. Lenyűgöző. De a lényeg a Pearl?

Jó kérdés. Remélem, hogy körülbelül egy év kezdete után a programozási Perl, akkor képes lesz arra, hogy adjon nekem választ erre a kérdésre. Leírás mi mást - mindig van hely áll rendelkezésre az egyes képkockákat. bezárja a fajta fogalmi mezőbe. Még mindig keresik egyik, ahol Pearl fér el (ez jó, hogy még mindig találni egy ilyen megbízható zár).

Ezt nem szabad Perl-ben írt?

Hmm. Személy szerint én nem írok egy szövegszerkesztő grafikus felületet, számítógépes játékok, a grafikus böngésző. Nem, persze, lehetséges Perl létrehozni szép felhasználói felületek, de még mindig úgy gondolom, hogy több esetben céljából ezeket a nyelveket. Mint egy figyelmeztető kezdő programozó, megjegyzem: „egy ember, egy kalapács minden probléma néz ki, mint egy köröm.”

Szintén fontos megjegyezni, hogy nem Pearl Perl-ben írt, valamint a Linux kernel. Hagyjuk az alacsony szintű programozás C / C ++ és Assembler'u. CREDIT minden programozó kell a mondatot: „Bizonyos eszközök meghatározott feladatok elvégzésére.”

Utolsó figyelmeztetés kezdete előtt.

Ha már egy kicsit ismeri a Pearl és látom, hogy a módszer bemutatása, valamint megoldások eltérnek a már megtanult te, csak emlékszem a mottója Perl „Több, mint egy módja annak, hogy megoldja a problémát” (van több, mint egy út csinálni, vagy TMTOWDI [helyesen 'tim-ma']). Ez a lényege filoofii Pearl. Természetesen a korrekció a nyilvánvaló hibák a szöveget várjuk.

Azok, akik olvasták a korábbi cikksorozatot Shell programozás, ne feledje, hogy a forgatókönyvet kezdődik egy úgynevezett „hash-bang” (kettőskereszt # és felkiáltójel!) Vagy: „kocsma” sort:

Ez biztosítja, hogy a héj szült egy al-shell, ahol a kód kerül végrehajtásra. Ugyanez az igény Perla:

A karakterlánc változhat attól függően, hol meg a tolmács Pearl.

Ne feledje, a követelményeket, amelyeket teljesíteni kell hash-bang sor:
  1. Meg kell az első a script
  2. Rács # kell lennie az első karakter a sorban. Terek között # és. nem engedélyezett.
  3. Meg kell határozni, hogy a teljes elérési utat, nem csak a nevét a futtatható fájlt.

Nos. Próbáljuk levelet az első script Perl:

#! / Usr / bin / perl
# "Goodbye" - modern és ultra-depressziós helyett "Hello World"


print "Viszlát, kegyetlen világ \ n!";
A leválasztás $ 0;

Ja, mellesleg. Egy kicsit arról, hogyan kell írni a kódot.

Én személy szerint messze tökéletesség írásban kód: korábban sokszor írtam írt programok és soha nem olvas, mert nem tudják megérteni. De én mindig próbálja javítani magam, és javítani.

Pearl veszi az úgynevezett „üres” - lapok és terek - ahogy megérdemlik -, hogy figyelmen kívül hagyja. Ebben a tekintetben, lehetőség van a kódot, ahogy jónak látja a jelentések szerint a kívülállók értelme a program. Például:

@boats = ( "Aloa", "Cheoy Lee", "Pearson", "Mason", "Swan", "Westsail", "S2", "Petersen", "Hereshoff"); # Listája csónak

Így már végre egy sor töltési folyamat „@boats” hajót neveket. Nem rossz, de akkor nem ugyanaz a dolog, de egy humánusabb módon:

Ez az ábrázolás a vizsgálati program nem előjoga a Pearl - a legtöbb modern nyelvek, hogy további „üres”, hogy a szöveg könnyebben olvasható. Ebben a cikksorozatban, megpróbálom legalább azt mutatják, hogy ez azt jelenti, jó programozási stílus (véleményem szerint), és szeretnék, hogy mindenki vette ezt a szempontot figyelembe.

A Perle minden elvének hatálya alá tartozik a könnyű használat. Pearl - az úgynevezett „liberális” a nyelv, ahol például, nem lehet meghatározni egy változó, mint az egyik, hogy lehet, hogy csak az értéket a tömb 32 bites pozitív lebegőpontos számokat.

A Perl, van 3 fajta változót: skalár, tömb és hash. Annak ellenére, hogy a szörnyű nevet, valójában igen egyszerű: ez csak egy változó, amely tárolja az adatokat egy másik szerkezetet.

típusú változók „array” - sorszámozott listák skalárokkal
    Jele "@" (@v, @list, @variable). Például:
Változók, mint a „hash” - listák skalárokkal indexelt
    Hash-ek jelzi "%" (% emberek,% x,% this_is_a_hash). Például:

Felhívjuk figyelmét, hogy az adatokat tömb tárolja módon határozza meg a tömb elem számát, és hash - no: a hivatkozás az első eleme a hash nem jelenti be fellebbezést a tag, hogy te vagy az első, hogy a hash. Hozzáférés elemek által hordozott a hash-index, és nem a helyzetüket.

Ezt a három típusú változó, akkor tárol semmilyen adatot (és hivatkozni rájuk) - amelyek mindegyike egyszerű.

Figyelembe véve azt a tényt, hogy a változók tartalmazhat különböző adattípusok (szám és szöveg) a műveletek ezeket a változókat szükség van a különböző szereplők

Emlékezni, a szabályt: ha összehasonlítjuk betűk (vonósok), betűket.

Mivel szeretem, hogy konkrét példákat, itt van egy recept, hogyan kell bekapcsolni szürke és egy idegösszeroppanást:

Um. A program azt mondja, hogy nincs különbség. Ez természetesen tükrözik a politikai helyzet az országban, de mi a helyzet a összehasonlításokat. Igen. Természetesen. Meg kellett használni string összehasonlító operátorok.

Most az összehasonlítás operátorok szükség (igen, és a politikai logika nyugszik. De kezdek eltávolodni a témát).

By the way, hogy miért az első példa Perl úgy határozott, hogy az "Al" és a "George" - ugyanaz a dolog? Mióta a program kezdte megérteni a politikát?

Az ok, sőt, fontos is az a kérdés, hogy hogyan Perl megkülönbözteti az „igazi” (igaz) és „false” (hamis). Tekintettel arra, hogy minden lehetséges teszt -. „Ha”, „miközben”, „amíg”, stb függ ez az elv a megkülönböztetés, meg kell értenünk.
  • „0” - ez mindig a „hazugság” (függetlenül attól, hogy az értéke egy karakterlánc vagy szám)
  • Minden definiált változók (amelyek nincsenek hozzárendelve érték) - „hazugság”.
  • Üres sorok - „” vagy „” - „hazugság”.
  • Minden más - az „igazság”.

És most próbálja meg kezelni ezeket a fiúk - igaz vagy hamis?

A válasz - a cikk végén.

Egy másik fontos pont változó interpoláció az elvre, amely értelmezni megítélni, hogy egy kifejezést idézőjelbe. Például:

Op. Mi van?

A tehén neve $ neve.

Személy szerint nem hiszem, hogy a tehén, amely valóban tiszteletben magát reagáltak volna, hogy egy ilyen név - $ neve (én nem is beszélek, hogy milyen nehéz lenne azt mondani, hogy neve). Szóval hogyan lehet még, hogy a tehén válaszolt?

Mindent! Most a tehén - a miénk! (Azok, akik úgy gondolták, hogy valami rossz - azonnal hagyja abba). És hála a Pearl. Mondtam, hogy a Perl, akkor mindent tud.

De mi van, ha azt akartuk, hogy megjelenjen a változó neve? Nem probléma. Perl könnyű megoldani:

Kinyomtathatja bármilyen metakaraktert (azaz bármely fenntartott Perl), ha előttük tesz egy rep ( „”). Vessen egy pillantást a következő:

Válassza ki, mit szeretne. A lényeg az, hogy megértsük a különbséget. Megjegyezzük, hogy egy másik értéket a „print” a vesszővel elválasztva, ha volt egy vessző, a kifejezés szerzett egy teljesen más jelentése van, de erről bővebben majd legközelebb.

Mielőtt befejezi ezt a cikket, szeretném adni egy másik fontos tip. Mindig az első sorban a script, használja a „-w”:

Ez növelni fogja a kimenő üzenetek problémák értelmezése a forgatókönyvet. Amíg te új - győződjön meg róla, hogy használja ezt a lehetőséget, de a szakértők - ez kétszeresen szükség. A hibák nem tűnnek el a tapasztalat - ők csak egyre okosabbak :)

Ekkor már egy rövid sétát a világ a programozás Perl. A következő hónapban, megyünk egy kicsit tovább. Talán meg kellene vizsgálnia a tömbök és hash-eket. vagy az első alkalom, hogy belevetette magát az óceánba az észbontó funkciók „reguláris kifejezések” Perla (regexes vagy reguláris kifejezések). Az én tanácsom - próbálták ki a gyakorlatban, hogy mi tanult, kísérlet - saját tapasztalataim tudom, hogy ez a legjobb módja annak, hogy megtanulják a nyelvet - kísérletezni, amíg a határ lehetőséget arra, hogy a jelenlegi tudásszint eléréséig, majd hívjon segítséget valaki, aki többet tud. Ne feledje, hogy soha nem lesz jó választ, ha nem tudja a kérdéseket.

Sok szerencsét kísérletek Pearl!

A válasz arra a kérdésre: mindenki egyenlő „igaz”. Egyik a kifejezések nem felel meg a követelményeknek a „hamis” értéket. "00" - ez nem "0", mint "-1". Szóköz „” - nem egy üres karakterlánc, „”, és a „5-5”, ha a kifejezés nem hasonlítható semmihez, ez nem egyenlő 0-ra.

Linkek: "Perl The Complete Reference"., Martin C. Brown

Kapcsolódó cikkek