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:- Meg kell az első a script
- Rács # kell lennie az első karakter a sorban. Terek között # és. nem engedélyezett.
- 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:
-
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