Hasonló dokumentumok
Kinek szól a könyv? A könyv témája A könyv felépítése Mire van szükség a könyv használatához? A könyvben használt jelölések. 1. Mi a programozás?


Tartalomjegyzék. I. rész Az elsõ lépések

A szerzõrõl... xi Bevezetés... xiii

Operációs rendszerek. 11. gyakorlat. AWK - szintaxis, vezérlési szerkezetek UNIVERSITAS SCIENTIARUM SZEGEDIENSIS UNIVERSITY OF SZEGED

BASH script programozás II. Vezérlési szerkezetek

Szkriptnyelvek. 1. UNIX shell

Tartalomjegyzék. Köszönetnyilvánítás. 1. Az alapok 1

S z á m í t ó g é p e s a l a p i s m e r e t e k

Programozási nyelvek Python

A C programozási nyelv I. Bevezetés

A C programozási nyelv I. Bevezetés

C# mesteri szinten 21 nap alatt

Programozás alapjai C nyelv 4. gyakorlat. Mit tudunk már? Feltételes operátor (?:) Típus fogalma char, int, float, double

A szürke háttérrel jelölt fejezet/alfejezet szövege a CD-mellékleten található. A CD-melléklet használata. 1. Elméleti áttekintés 1

PHP. Telepítése: Indítás/újraindítás/leállítás: Beállítások: A PHP nyelv

Operációs rendszerek gyakorlat

Mit tudunk már? Programozás alapjai C nyelv 4. gyakorlat. Legnagyobb elem keresése. Feltételes operátor (?:) Legnagyobb elem keresése (3)

file./script.sh > Bourne-Again shell script text executable << tartalmat néz >>

Szkriptnyelvek II. Perl programok

Az iskolai rendszerű képzésben az összefüggő szakmai gyakorlat időtartama. 10. évfolyam Adatbázis- és szoftverfejlesztés gyakorlat 50 óra

Mintavételes szabályozás mikrovezérlő segítségével

7. Laboratóriumi gyakorlat: Vezérlési szerkezetek II.

Operációs rendszerek gyak.

Operációs rendszerek. 9. gyakorlat. BASH recap, reguláris kifejezések UNIVERSITAS SCIENTIARUM SZEGEDIENSIS UNIVERSITY OF SZEGED

Köszönetnyilvánítás... xv Bevezetés az otthoni hálózatok használatába... xvii. A könyv jellegzetességei és jelölései... xxi Segítségkérés...

AWK programozás, minták, vezérlési szerkezetek

Karakterkészlet. A kis- és nagybetűk nem különböznek, a sztringliterálok belsejét leszámítva!

Operációs rendszerek. 9. gyakorlat. Reguláris kifejezések - alapok, BASH UNIVERSITAS SCIENTIARUM SZEGEDIENSIS UNIVERSITY OF SZEGED

1. Bevezetés szeptember 9. BME Fizika Intézet. Szám. szim. labor ea. Tőke Csaba. Tudnivalók. feladat. Tematika. Moodle Házi feladatok

A függvény kód szekvenciáját kapcsos zárójelek közt definiáljuk, a { } -ek közti részt a Bash héj kód blokknak (code block) nevezi.

AWK programozás, minták, vezérlési szerkezetek

Operációs Rendszerek. Windows Parancssor

length (s): Az s karaklerlánc hossza, substr(s,m,n): Az s mezőben levő karakterláncnak az m-edik karakterétől kezdődő, n darab karaktert vágja ki.

Webprogramozás szakkör

Operációs Rendszerek II. labor. 2. alkalom

C programozás. { Márton Gyöngyvér, 2009 } { Sapientia, Erdélyi Magyar Tudományegyetem }

Forráskód formázási szabályok

1. Alapok. #!/bin/bash

Pere László Linux: felhasználói ismeretek I. Az alapok

BASH SCRIPT SHELL JEGYZETEK

Informatika tagozat osztályozóvizsga követelményei

Tartalom Tervezési egység felépítése Utasítások csoportosítása Értékadás... 38

A szerzõrõl... xiii Bevezetés... xv

Algoritmizálás és adatmodellezés tanítása beadandó feladat: Algtan1 tanári beadandó /99 1

2 Excel 2016 zsebkönyv

Python tanfolyam Python bevezető I. rész

Bevezetés a programozásba

Adatszerkezetek Adatszerkezet fogalma. Az értékhalmaz struktúrája

PHP alapjai, bevezetés. Vincze Dávid Miskolci Egyetem, IIT

Internet programozása. 1. előadás

Programozási alapismeretek beadandó feladat: ProgAlap beadandó feladatok téma 99. feladat 1

Operációs rendszerek. Tanmenet

Informatika terméktervezőknek

Ismerkedés az Office 2007 felhasználói felületével

Munka állományokkal. mv: áthelyezés (átnevezés) rm: törlés. rmdir: üres könyvtár törlése. -r, -R: rekurzív (könyvtár) -r, -R: rekurzív (könyvtár)

Programozás alapjai. (GKxB_INTM023) Dr. Hatwágner F. Miklós október 11. Széchenyi István Egyetem, Gy r

A C# programozási nyelv alapjai

George Shepherd. 1. A webes alkalmazások alapjai 1

Imperatív és procedurális programozás a Javában

Operációs rendszerek. 10. gyakorlat. AWK - bevezetés UNIVERSITAS SCIENTIARUM SZEGEDIENSIS UNIVERSITY OF SZEGED

Programozási nyelvek (ADA)

1. A Windows Vista munkakörnyezete 1

Adatszerkezetek 1. Dr. Iványi Péter

C programozás. 1 óra Bevezetés

A programozás alapjai előadás. A C nyelv típusai. Egész típusok. C típusok. Előjeles egészek kettes komplemens kódú ábrázolása

2. modul - Operációs rendszerek

Programozás alapjai gyakorlat. 2. gyakorlat C alapok

Programozás alapjai gyakorlat. 4. gyakorlat Konstansok, tömbök, stringek

II. Mérés SZÉCHENYI ISTVÁN EGYETEM GYŐR TÁVKÖZLÉSI TANSZÉK

Podoski Péter és Zabb László

Dr. Pál László, Sapientia EMTE, Csíkszereda WEB PROGRAMOZÁS 6.ELŐADÁS. Fájlkezelés PHP-ben

Bánsághi Anna 2014 Bánsághi Anna 1 of 68

BarAck.Net. Internetes csomagkezel. Felhasználói kézikönyv V 1.0. (2011. július 20.)

Algoritmizálás és adatmodellezés tanítása beadandó feladat: Algtan1 tanári beadandó /99 1

Objektumorientált Programozás III.

Vetési Albert Gimnázium, Veszprém. Didaktikai feladatok. INFORMÁCIÓTECHNOLÓGIAI ALAPISMERETEK (10 óra)

Programozás alapjai C nyelv 7. gyakorlat. Függvények. Függvények(2)

Függvények. Programozás alapjai C nyelv 7. gyakorlat. LNKO függvény. Függvények(2) LNKO függvény (2) LNKO függvény (3)

Operációs rendszerek gyak.

Java II. I A Java programozási nyelv alapelemei

A C programozási nyelv II. Utasítások. A függvény.

Smalltalk 2. Készítette: Szabó Éva

Programozás. (GKxB_INTM021) Dr. Hatwágner F. Miklós március 3. Széchenyi István Egyetem, Gy r

Programozás alapjai. (GKxB_INTM023) Dr. Hatwágner F. Miklós szeptember 27. Széchenyi István Egyetem, Gy r

2 Access 2016 zsebkönyv

A programozás alapjai

A szerzőkről... xiii A csapat... xiv Az Online Training Solutions, Inc. (OTSI)... xiv

17. Többdokumentumos alkalmazások készítése..3 A többdokumentumos felület...3. A program elkészítése...27

Mutatók és címek (ism.) Programozás alapjai C nyelv 8. gyakorlat. Indirekció (ism) Néhány dolog érthetőbb (ism.) Változók a memóriában

AWK programozás Bevezetés

További vezérlő valamint számításokat megkönnyítő szerkezetek

Operációs rendszerek. 3. gyakorlat. Jogosultságkezelés, linkelés, csővezeték UNIVERSITAS SCIENTIARUM SZEGEDIENSIS UNIVERSITY OF SZEGED

1.1. A forrásprogramok felépítése Nevek és kulcsszavak Alapvető típusok. C programozás 3

Operációs rendszerek. Tanmenet

Adatszerkezetek Tömb, sor, verem. Dr. Iványi Péter

Országos Területrendezési Terv térképi mel ékleteinek WMS szolgáltatással történő elérése, Quantum GIS program alkalmazásával Útmutató 2010.

Java II. I A Java programozási nyelv alapelemei

Java programozási nyelv

WEBFEJLESZTÉS 2. ADATTÁROLÁS, FÁJLOK

Átírás:

Tartalomjegyzék Elsõ hét Alapok 1. nap Bevezetés a Perlbe A Perl lényege és eredete...................................... 4 Miért érdemes ismerni a Perlt?.................................. 5 A Perl hasznos............................................ 6 A Perl-höz nem kell semmilyen cifra program.................... 6 A Perl gyorsan programozható............................... 6 A Perl hordozható......................................... 7 A Perl hatékony........................................... 7 A Perl rugalmas........................................... 8 A Perlt könnyû elsajátítani................................... 8 A Perl-közösségre számíthatunk.............................. 9 Ismerkedés a Perl nyelvû programozással......................... 9 A Perl telepítése........................................... 9 Egysoros Perl kódok és parancsállományok.................... 10 A szokásos példa: Helló, világ!................................. 10 Az egysoros létrehozása................................... 11 Mit tegyünk, ha nem mûködik?.............................. 11 Hogyan mûködik?........................................ 12 Újabb példa: Helló, világ!, parancsállományként................... 12 A Helló, világ! parancsállomány létrehozása.................... 12 A Helló, világ! program futtatása............................. 14 Mit kell tennünk, ha a Helló, világ! program nem mûködik?........ 15 Hogyan mûködik?........................................ 15 A hibajelzésekrõl......................................... 16 Egy másik példa: Echo....................................... 17

vi Tartalomjegyzék Egy 3. példa: a Cookie Monster................................ 18 Mélyvíz................................................... 19 A Perl-dokumentáció beszerzése............................. 20 Segítségkérés............................................ 20 Összefoglalás.............................................. 21 Kérdések és válaszok........................................ 21 Mûhely................................................... 23 Kvíz................................................... 23 Gyakorlatok............................................... 24 Válaszok.................................................. 25 Kvíz válaszok............................................ 25 Gyakorlatok megoldása.................................... 27 2. nap Karakterláncok és számok használata (skaláris adatok) Skaláris adatok és skaláris változók............................. 30 Számok................................................ 30 Karakterláncok.......................................... 31 Számok átalakítása karakterláncokká és viszont................. 34 Skaláris változók......................................... 34 Perl parancsfájlok készítése................................... 36 Aritmetikai mûveleti jelek..................................... 37 Aritmetika és pontosság.................................... 38 Egysoros programok: egyszerû számológép....................... 40 Példa: Fahrenheit fok átalakítása Celsius fokká.................. 40 Ellenõrzõ és összehasonlító mûveleti jelek........................ 42 Az igazság szó jelentése.................................... 43 Egyenlõségi és viszonyító mûveletek.......................... 43 Logikai mûveletek........................................ 45 Mintaillesztés............................................ 48 Még egy példa: még sütit!..................................... 50 Mélyvíz................................................... 51 Karakterláncok és minták idézõjelbe rakása.................... 52 Idézõjel nélküli karakterláncok.............................. 53 Kisbetûs és nagybetûs váltókarakterek........................ 53 További tudnivalók a karakterláncokon belüli változóbehelyettesítésrõl. 54 Oktális és hexadecimális számok............................. 54 Összefoglalás.............................................. 55 Kérdések és válaszok........................................ 56 Mûhely................................................... 57 Kvíz................................................... 57 Gyakorlatok............................................. 58 Válaszok............................................... 58 Kvíz válaszok............................................ 59 Gyakorlatok megoldása.................................... 60

Tartalomjegyzék vii 3. nap További skaláris adatok és mûveletek Értékadó mûveletek......................................... 64 Növelõ és csökkentõ mûveletek................................ 65 Karakterláncok összefûzése és ismétlése......................... 66 A mûveletek sorrendje és csoportosíthatósága..................... 67 Számok keresése mintaillesztéssel.............................. 69 Egy példa: egyszerû statisztika................................. 71 Bemenet és kimenet......................................... 75 Fájlleírók és szabványos be- és kimenetek..................... 75 Egy sor beolvastatása a szabványos bemenetrõl a <STDIN> utasítással.. 76 Kiíratás a szabványos kimenetre a print paranccsal............... 77 A printf és a sprintf függvény............................... 78 Még egy példa: tõzsde....................................... 80 A bemenet bekérése és ellenõrzése........................... 82 Az eredmény kiszámítása és kiíratása......................... 84 Egy megjegyzés a függvények használatával kapcsolatban............ 85 Mélyvíz................................................... 86 Számokkal és karakterláncokkal kapcsolatos hasznos függvények... 86 Bitmûveletek............................................ 87 A cmp és a <=> mûvelet................................... 88 Függvények és függvényszerû mûveletek...................... 88 Összefoglalás.............................................. 88 Kérdések és válaszok........................................ 89 Mûhely................................................... 90 Kvíz................................................... 90 Gyakorlatok............................................. 91 Válaszok.................................................. 92 Kvíz válaszok............................................ 92 Gyakorlatok megoldása.................................... 93 4. nap Listák és tömbök használata Listaadatok és változók....................................... 98 Listák és tömbök meghatározása és használata..................... 99 Listák létrehozása........................................ 99 Listák létrehozása a tartománymûvelet segítségével.............. 101 Az értékadás és a listák................................... 102 A tömb elemeinek elérése................................. 103 Tömbök növelése....................................... 104 Tömb hosszának lekérdezése.............................. 105 Listák és tömbök rendezése................................ 105 Egy tömb összes elemének feldolgozása...................... 106 Tömb végének megkeresése............................... 107 A nem meghatározott értékek kezelése....................... 107 Elemek törlése a tömbbõl................................. 109 Elem meglétének ellenõrzése.............................. 110 Példa: további statisztikák.................................... 110 Listás és skaláris környezet................................... 113

viii Tartalomjegyzék Mi a környezet?......................................... 113 A tömbben lévõ elemek számának lekérdezése................ 115 Környezet és értékadás................................... 116 Egyéb környezetek...................................... 117 A scalar függvény....................................... 118 Bemenetek, kimenetek és listák............................... 119 A <STDIN> használata listás környezetben.................... 119 Listák kiíratása.......................................... 120 Mélyvíz.................................................. 121 Negatív tömbindexek..................................... 121 Még pár szó a tartományokról.............................. 122 A chomp és a chop függvény használata listákhoz.............. 122 Kimeneti mezõ, kimeneti rekord és listaelválasztók.............. 122 Érvénytelen környezet.................................... 123 Összefoglalás............................................. 124 Kérdések és válaszok....................................... 125 Mûhely.................................................. 126 Kvíz.................................................. 127 Gyakorlatok............................................ 127 Válaszok................................................. 128 Kvíz válaszok........................................... 128 Gyakorlatok megoldása................................... 129 5. nap Kivonatok használata Kivonatok, tömbök és listák.................................. 134 Kivonatok meghatározása és használata......................... 135 A listás környezet és a kivonatok............................ 135 Tömbök, listák és kivonatok átalakítása egymásba.............. 137 A kivonat elemeinek elérése............................... 138 Kivonat elemeinek törlése................................. 139 A kivonat összes értékének feldolgozása...................... 139 A kivonatok és a környezet................................ 140 Példa: elõfordulási gyakoriság megállapítása a statisztikai programmal. 142 Adatok kinyerése tömbökbe vagy kivonatokba a split függvénnyel. 146 Egy másik példa: nevek betûrendes listája....................... 148 Még néhány minta......................................... 149 Még egy példa: tõzsdei árfolyamváltó........................... 151 Mélyvíz.................................................. 154 Összefoglalás............................................. 155 Kérdések és válaszok....................................... 156 Mûhely.................................................. 157 Kvíz.................................................. 157 Gyakorlatok............................................ 158 Válaszok................................................. 158 Kvíz válaszok........................................... 158 Gyakorlatok megoldása................................... 160

Tartalomjegyzék ix 6. nap Feltételek és ciklusok Összetett utasítások és utasításblokkok.......................... 166 Feltételek................................................ 167 if, if...else és if...elsif...................................... 167 unless................................................ 169 A?..: feltételes mûvelet................................... 170 Logikai mûveletek használata feltételként..................... 171 A while ciklusok........................................... 172 while................................................. 173 until.................................................. 175 do................................................... 175 Egy példa: számkiválasztás................................... 176 Mûveletismétlés a foreach és a for ciklusokkal.................... 181 foreach................................................ 181 for................................................... 183 A ciklusok vezérlése........................................ 186 last, next és redo........................................ 187 A ciklusok felcímkézése................................... 188 A $_ (alapértelmezett) változó használata........................ 190 Bemenet beolvastatása fájlokból while ciklusokkal és <> utasításokkal. 191 Mélyvíz.................................................. 195 Feltételek és ciklusok módosítói............................ 195 A continue blokkok használata............................. 196 Szerkezetek létrehozása a switch és a case utasítással............ 196 Összefoglalás............................................. 197 Kérdések és válaszok....................................... 199 Mûhely.................................................. 200 Kvíz.................................................. 200 Gyakorlatok............................................ 200 Válaszok................................................. 201 Kvíz válaszok........................................... 201 Gyakorlatok megoldása................................... 202 7. nap Néhány hosszabb példa elemzése Statisztika szebb eloszlási görbével............................. 206 Számok kiíratása betûvel..................................... 211 Szöveg átalakítása HTML-lé................................... 214 A parancsfájl mûködése................................... 214 A bemenõ fájl.......................................... 216 A parancsfájl........................................... 216 Összefoglalás............................................. 221 Második hét Tegyünk többet 8. nap Listák és karakterláncok kezelése Tömb- és kivonatszeletek.................................... 226 Lista rendezése............................................ 227 Keresés.................................................. 229

x Tartalomjegyzék Példa: további nevek........................................ 231 Lista elemeinek módosítása................................... 236 push és pop............................................ 237 shift és unshift.......................................... 238 splice................................................. 239 Egyéb listakezelési lehetõségek............................... 240 reverse................................................ 240 join.................................................. 241 map.................................................. 242 Karakterláncok kezelése..................................... 243 reverse................................................ 244 index és rindex......................................... 244 substr................................................. 245 Mélyvíz.................................................. 246 Összefoglalás............................................. 247 Kérdések és válaszok....................................... 248 Mûhely.................................................. 249 Kvíz.................................................. 249 Gyakorlatok............................................ 249 Válaszok................................................. 250 Kvíz válaszok........................................... 250 Gyakorlatok megoldása................................... 251 9. nap Mintaillesztés szabályos kifejezésekkel A mintaillesztésrõl általában.................................. 254 Mintaillesztõ mûveletek és kifejezések.......................... 255 Egyszerû minták........................................... 256 Karaktersorozatok....................................... 256 Keresés szó- vagy sorhatárokon............................. 258 Több minta egyidejû használata............................. 259 Mintaillesztés karaktercsoportokra............................. 261 Karakterosztályok....................................... 261 Karaktertartományok..................................... 262 Különleges osztályok..................................... 263 Bármely karakter keresése a. (pont) segítségével............... 264 Karakterek többszöri elõfordulásának keresése................... 264 Nem kötelezõ karakterek keresése a? karakterrel............... 265 Többszöri elõfordulás vagy az elõfordulás hiánya keresés a * karakterrel................................... 266 Legalább egy elõfordulás keresése a + karakterrel............... 267 Az elõfordulások számának korlátozása...................... 267 Példa: Találgatóprogram..................................... 269 Minták használata tesztekben és ciklusokban..................... 272 Minták és változók....................................... 273 Minták és ciklusok....................................... 273 Még egy példa: Számláló.................................... 274 A minták kiértékelési sorrendje................................ 275

Tartalomjegyzék xi Mélyvíz.................................................. 276 A minták használatának egyéb lehetõségei.................... 276 Határolójelek és váltókarakterek............................ 277 Összefoglalás............................................. 278 Kérdések és válaszok....................................... 279 Mûhely.................................................. 279 Kvíz..................................................... 279 Gyakorlatok.............................................. 280 Válaszok................................................. 281 Kvíz válaszok........................................... 281 Gyakorlatok megoldása..................................... 282 10. nap Szabályos kifejezések haladóknak A találatok kinyerése........................................ 286 Visszautalás zárójelekkel.................................. 286 Mentett találatok változói.................................. 288 Találatok különbözõ környezetben.......................... 289 A mohóságról......................................... 290 Példa: Jellemzõk kinyerése HTML elemekbõl..................... 292 Keresés és csere mintákkal................................... 294 A split függvény használatának további lehetõségei................ 295 Mintaillesztés több sorban történõ kereséssel..................... 296 Többsoros bemenet tárolása............................... 297 Újsorokat tartalmazó bemenet kezelése....................... 298 Kapcsolók és váltókarakterek.............................. 299 Példa: Képkinyerõ program.................................. 301 Tippek szabályos kifejezések létrehozásához.................. 305 Mélyvíz.................................................. 306 További metakarakterek, változók és kapcsolók................ 307 Összefoglalás............................................. 310 Kérdések és válaszok....................................... 310 Mûhely.................................................. 311 Kvíz..................................................... 311 Gyakorlatok.............................................. 312 Válaszok................................................. 313 Kvíz válaszok........................................... 313 Gyakorlatok megoldása..................................... 314 11. nap Alprogramok készítése és használata Alprogramok vagy függvények?............................... 318 Egyszerû alprogramok meghatározása és hívása................... 319 Egy példa.............................................. 319 Alprogramok meghatározása............................... 320 Alprogramok hívása...................................... 320 Egy példa: a stats program utódja.............................. 321 Értékek visszaadása......................................... 323 Helyi változók használata.................................... 325 Változók átadása az alprogramok számára....................... 327

xii Tartalomjegyzék Paraméterek átadása..................................... 327 Paraméterek kezelése az alprogramon belül................... 328 Hivatkozással átadott paraméterek.......................... 330 Az alprogramok és a környezet................................ 330 Újabb példa: a stats program menüvel bõvítve.................... 331 Mélyvíz.................................................. 338 Helyi változók kódblokkokban............................. 338 A paraméterek zárójeleinek elhagyása........................ 339 Paraméterek átadása a @_ tömb segítségével................... 340 Névtelen alprogramok.................................... 340 Alprogramok prototípusainak használata...................... 340 A caller függvény........................................ 341 Összefoglalás............................................. 342 Kérdések és válaszok....................................... 342 Mûhely................................................ 343 Kvíz.................................................. 343 Gyakorlatok............................................ 344 Válaszok................................................. 345 Kvíz válaszok........................................... 345 Gyakorlatok megoldása................................... 347 12. nap Hibakeresés a Perlben Egyszerû példa a hibakeresõ használatára....................... 352 A hibakeresõ indítása és futtatása.............................. 357 A végrehajtás nyomon követése............................ 359 A program lépésenkénti végrehajtása........................ 359 A forráskód kiíratása..................................... 360 Változók értékeinek kiíratása............................... 361 Töréspontok beállítása.................................... 363 Egyéb parancsok........................................ 364 Egy apró megjegyzés..................................... 364 A Perl hibakeresõ parancsai.................................. 364 Grafikus hibakeresõ használata................................ 366 Mélyvíz.................................................. 367 Különbözõ hibakeresõk használata.......................... 367 A Perl interaktív futtatása.................................. 368 Gyakori buktatók és FAQ-k................................ 368 Összefoglalás............................................. 369 Kérdések és válaszok....................................... 369 Mûhely.................................................. 369 Kvíz..................................................... 369 Gyakorlatok............................................ 370 Válaszok................................................. 371 Kvíz válaszok........................................... 371 Gyakorlatok megoldása................................... 372

Tartalomjegyzék xiii 13. nap Hatókör, modulok és átvett kódrészletek Globális változók és csomagok................................ 374 Gondok a globális változókkal............................. 374 A csomagokról.......................................... 375 A csomagok és változók mûködése.......................... 375 Egyszerû példa csomagok használatára....................... 377 Nem csomagbeli globális változók használata.................. 378 Helyi hatókör helyi változók.............................. 379 A helyi változókról és hatókörükrõl.......................... 379 Helyi változók meghatározása a my és a local kulcsszóval........ 381 Perl modulok használata..................................... 381 Az elnevezésekrõl....................................... 382 Hozzájutás a modulokhoz................................. 383 A modulok átvétele...................................... 384 A modulok használata.................................... 385 Objektumközpontú modulok.............................. 386 A modulok szerkezete.................................... 387 Szimbólumok kézi átvétele................................ 388 Átvételi azonosítók...................................... 390 Pragmák............................................... 390 Az English modul........................................ 392 Egy példa: a Text::Wrap modul használata....................... 393 A CPAN modulok használata.................................. 395 Mire vigyázzunk?........................................ 395 A CPAN modulok letöltése................................. 395 CPAN modulok telepítése Windows környezetben a PPM segítségével. 396 A CPAN modulok használata............................... 397 Mélyvíz.................................................. 398 Típusegyesítés.......................................... 398 A local és a my kulcsszavak közti további különbségekrõl......................................... 399 Egy példa: local vagy my?................................. 400 Csomagok elõkészítése és lezárása a BEGIN és END alprogramokkal. 401 Kódrészletek átvétele a require függvénnyel................... 402 Összefoglalás............................................. 403 Kérdések és válaszok....................................... 404 Mûhely.................................................. 405 Kvíz.................................................. 405 Gyakorlatok............................................ 405 Válaszok................................................. 406 Kvíz válaszok........................................... 406 Gyakorlatok megoldása................................... 407 14. nap Néhány hosszabb példaprogram Címlista keresési lehetõséggel (address.pl)....................... 410 A program mûködése.................................... 410 A címlistafájl........................................... 411

xiv Tartalomjegyzék Bepillantás a program szerkezetébe......................... 412 A címek beolvasása...................................... 413 A keresés.............................................. 414 A rekord kiíratása........................................ 418 A kód................................................. 418 Internetes naplófájlelemzõ (weblog.pl).......................... 421 A program mûködése.................................... 421 Az internetes naplófájl felépítése............................ 422 A program szerkezete.................................... 423 A naplófájl feldolgozása................................... 424 Az eredmények kiíratása.................................. 428 A &getdomains() alprogram............................... 430 A &gettop() alprogram.................................... 431 A naplófájlelemzõ kódja.................................. 432 Összefoglalás............................................. 436 Harmadik hét Perl haladóknak 15. nap Kimenet, bemenet és fájlkezelés Kimenet és bemenet fájlleírókkal.............................. 440 Fájlleírók létrehozása az open függvénnyel.................... 440 A die függvény......................................... 443 Olvasás fájlleíróból...................................... 444 Írás fájlleíróba.......................................... 445 Bináris fájlok írása és olvasása.............................. 445 Fájlleírók lezárása....................................... 446 Példa: üzenetek tárgyainak kigyûjtése és lemezre mentése........... 446 Fájlellenõrzések........................................... 447 Példa fájlellenõrzésre....................................... 449 A programparaméterek és az @ARGV használata.................. 452 Az @ARGV felépítése..................................... 452 Kapcsolók és Getopt..................................... 453 Egy másik példa........................................... 457 Mélyvíz.................................................. 459 Az open függvény és a fájlleírók............................ 459 Egyéb fájlmûveletek...................................... 460 Kimenet és bemenet haladó szinten......................... 460 DBM fájlok............................................. 461 Idõbélyegzõk........................................... 462 Összefoglalás............................................. 462 Kérdések és válaszok....................................... 463 Mûhely.................................................. 464 Kvíz..................................................... 464 Gyakorlatok.............................................. 465 Válaszok................................................. 466 Kvíz válaszok........................................... 466 Gyakorlatok megoldása................................... 467

Tartalomjegyzék xv 16. nap CGI programozás a Perlben Mielõtt belevágnánk.......................................... 472 Hogyan mûködik a CGI?..................................... 473 CGI programok készítése, az ûrlaptól a válaszig................... 474 Az ûrlap............................................... 474 A program elkészítése.................................... 476 A program tesztelése........................................ 478 CGI programok fejlesztése a CGI.pm modullal................. 479 A CGI.pm használata..................................... 480 Ûrlapbemenet feldolgozása................................ 480 HTML elõállítása........................................ 481 Példa: egy felmérés......................................... 485 Az ûrlap............................................... 485 A program............................................. 487 Mélyvíz.................................................. 490 CGI változók használata.................................. 491 POST és GET........................................... 492 Átirányítás............................................. 492 Sütik és fájlfeltöltés...................................... 493 A CGI programok és a biztonság............................ 493 A Perl beágyazása a webkiszolgálóba........................ 493 Összefoglalás............................................. 494 Kérdések és válaszok....................................... 495 Mûhely.................................................. 497 Kvíz.................................................. 497 Gyakorlatok............................................ 498 Válaszok................................................. 498 Kvíz válaszok........................................... 498 Gyakorlatok megoldása................................... 499 17. nap Fájlok és könyvtárak kezelése Fájlkezelés............................................... 504 Fájlok átnevezése........................................ 504 Hivatkozások készítése és követése.......................... 504 Fájlok és hivatkozások eltávolítása.......................... 505 Egyéb fájlmûveletek...................................... 506 Könyvtárak kezelése és bejárása............................... 507 Könyvtárak bejárása...................................... 507 Fájllista kiíratása......................................... 508 Könyvtárak létrehozása és eltávolítása........................ 510 Példa: hivatkozások készítése................................. 511 Mélyvíz.................................................. 513 Összefoglalás............................................. 514 Kérdések és válaszok....................................... 515 Mûhely.................................................. 515 Kvíz.................................................. 515

xvi Tartalomjegyzék Gyakorlatok............................................ 516 Válaszok.............................................. 517 Kvíz válaszok........................................... 517 Gyakorlatok megoldása................................... 518 18. nap A Perl és az operációs rendszer Unix szolgáltatások a Perlben................................. 524 Környezeti változók...................................... 525 Unix programok futtatása a system függvénnyel................ 525 Bemenet fordított aposztrófokkal........................... 527 Folyamatok használata: fork, wait és exec..................... 527 Egyéb Unix-függvények................................... 536 Perl Windows rendszeren.................................... 537 Átjárás a Unix-ba........................................ 537 Beépített Win32 alprogramok.............................. 538 Win32::MsgBox......................................... 540 Win32 folyamatok....................................... 541 A rendszerleíró adatbázis használata......................... 544 Egyéb Win32 modulok................................... 546 Mélyvíz.................................................. 548 Csövek................................................ 548 Jelzések............................................... 548 Egyszerû hálózatkezelés.................................. 548 Felhasználói felületek készítése............................. 549 Összefoglalás............................................. 549 Kérdések és válaszok....................................... 550 Mûhely.................................................. 551 Kvíz.................................................. 551 Gyakorlatok............................................ 551 Válaszok................................................. 552 Kvíz válaszok........................................... 552 Gyakorlatok megoldása................................... 553 19. nap Hivatkozások használata Mi az a hivatkozás?......................................... 556 Általános áttekintés: hogyan használjuk a hivatkozásokat?........... 557 Hivatkozás létrehozása................................... 557 Hivatkozások kiírása és használata.......................... 558 Hivatkozások feloldása................................... 559 A hivatkozott adat módosítása.............................. 560 Hivatkozások az alprogramok paraméterében és visszatérési értékében. 561 Alprogram-paraméterek................................... 562 Visszatérés az alprogramból hivatkozással..................... 564 Egy példa.............................................. 565 A hivatkozások egyéb felhasználásai........................... 566 Listára mutató hivatkozások feloldása........................ 567 Hivatkozás blokkokkal................................... 568 A ref függvény.......................................... 569

Tartalomjegyzék xvii Memória és szemétgyûjtés................................. 570 Beágyazott adatszerkezetek.................................. 571 Mi az a beágyazott adatszerkezet?........................... 571 Névtelen adatok használata................................ 572 Adatszerkezetek kialakítása névtelen adatokkal................ 574 Kivonatba ágyazott tömbök................................ 575 Beágyazott kivonatok.................................... 576 Más adatszerkezetek..................................... 577 Adatszerkezetek felépítése létezõ adatokból...................... 578 Adatok elérése a beágyazott adatszerkezetekben.................. 580 Egy másik példa: mûvészek és mûveik adatbázisa................. 581 A hivatkozások használatának elkerülése........................ 586 Mélyvíz.................................................. 587 Gyors hivatkozás skalárokra............................... 588 Szimbolikus hivatkozások................................. 588 Hivatkozás típusegyesítésekre és fájlleírókra................... 589 Hivatkozás alprogramokra................................. 589 Összefoglalás............................................. 590 Kérdések és válaszok....................................... 591 Mûhely.................................................. 592 Kvíz.................................................. 592 Gyakorlatok............................................ 593 Válaszok................................................. 595 Kvíz válaszok........................................... 595 Gyakorlatok megoldása................................... 596 20. nap Ami kimaradt Perl egysorosok........................................... 602 Objektumközpontú programozás.............................. 604 Hogyan fogjunk hozzá?................................... 604 Az alapok (azok számára, akik jártasak az objektumközpontú programozásban)...................... 605 Példa: objektumközpontú modulok használata................... 612 Hálózatkezelés............................................ 615 POD fájlok............................................... 618 POD fájlok létrehozása................................... 619 POD beágyazása a programokba............................ 620 Kódkiértékelés menet közben................................. 620 Gyakran használt modulok................................... 621 LWP.................................................. 621 Elektronikus levélküldés a Net::SMTP modullal................. 623 XML-kezelés a Perlben.................................... 624 Nemzetközi Perl programok.................................. 627 Biztonság a Perl programokban............................... 627 PerlScript................................................. 628 A Perl 6 újdonságai......................................... 629 Mélyvíz.................................................. 629

xviii Tartalomjegyzék Összefoglalás............................................. 630 Kérdések és válaszok....................................... 631 Mûhely.................................................. 632 Kvíz.................................................. 632 Gyakorlatok............................................ 633 Válaszok................................................. 634 Kvíz válaszok............................................. 634 Gyakorlatok megoldása................................... 635 21. nap Néhány hosszabb példa Tõzsdei portfoliókezelõ..................................... 640 Az adatfájl............................................. 641 A program mûködése.................................... 642 Webes feladatlista.......................................... 655 Az adatfájl............................................. 656 A program mûködése.................................... 657 Összefoglalás............................................. 671 Függelékek A függelék A Perl beépített függvényei További tájékoztatás........................................ 675 Perl függvények........................................... 676 int................................................... 691 B függelék A Perl telepítése Unix rendszerre Szükség van-e a telepítésre?.................................. 722 A Perl beszerzése........................................ 722 A rendszerhez kapott csomag telepítése...................... 723 Bináris fájlok letöltése.................................... 723 A forráskód (és a szükséges eszközök) letöltése................ 724 A Perl kicsomagolása és lefordítása............................. 725 A configure program futtatása.............................. 725 A make futtatása........................................ 729 További források........................................... 730 C függelék A Perl for Windows telepítése A Perl for Windows letöltése.................................. 732 A Perl for Windows telepítése................................. 733 A Perl for Windows futtatása.................................. 734 A Perl forráskódjának letöltése................................ 735 További információ......................................... 735 Tárgymutató 737