Az előadás letöltése folymat van. Kérjük, várjon

Az előadás letöltése folymat van. Kérjük, várjon

Operációs rendszerek gyakorlat 10. Gyakorlat Vakulya Gergely.

Hasonló előadás


Az előadások a következő témára: "Operációs rendszerek gyakorlat 10. Gyakorlat Vakulya Gergely."— Előadás másolata:

1 Operációs rendszerek gyakorlat 10. Gyakorlat Vakulya Gergely

2 2 Az alapértelmezett változó - I. • Sok függvény és vezérlési szerkezet alapértelmezett változóval tömörebbé tehető • $_ • while, <>, print, stb.

3 3 Az alapértelmezett változó - I. • Egy egyszerű példa: • while ($sor= ) • { – print $sor; • }

4 4 Az alapértelmezett változó - II. • Ugyanez alapértelmezett változóval: • while ( ) • { – print $_; • }

5 5 Az alapértelmezett változó - III. • Tömörebben és egyszerűbben • while (<>) • { – print; • }

6 6 Reguláris kifejezlések használata • A Perl nagy erőssége a reguláris kifejezések egyszerű használata • Két gyakori művelet: – Illesztés (match, m) – Csere (substitution, s)

7 7 Reguláris kifejezések illesztése • $sor=”szilva alma korte”; • if ($sor=~m/alma/) • { – print ”Illeszkedik\n”; • } • else • { – print ”Nem illeszkedik\n”; • }

8 8 Rövidítés alapértelmezett változóval • $_=”szilva alma korte”; • if (/alma/) • { – print ”Illeszkedik\n”; • } • else • { – print ”Nem illeszkedik\n”; • }

9 9 Illesztési példák • Nem csak szavakat, hanem bármilyen reguláris kifejezést is illeszthetünk. • /alma../ alma után két tetszőleges karakter • /a.*a/ ”a”, tetszőleges karakterek, majd ”a” • /alfa|beta/ alfa vagy beta • /e(r|k)/ e után r vagy k • /[A-Z]*[^A-Z]*/ Akárhány nagybetű után akárhány nem nagybetű • /bu{3,5}/ b után 3-5 u

10 10 Karakter-osztályok - I. • Perl-ben is használhatók karakter- osztályok: – \w ”word”: Minden kis-és nagybetű, valamint az aláhúzás jel (_) – \s ”space”: Whitespace karakterek (space, tabulátor, stb) – \d ”digit”: Számok

11 11 Karakter-osztályok - II. • A karakter-osztályok komplementerei is egyszerűen megadhatók: – \W: Minden, ami nem tartozik a \w-be – \S: Minden, ami nem tartozik a \s-be – \D: Minden, ami nem tartozik a \d-be

12 12 Az illeszkedő rész kinyerése • Előfordulhat, hogy az illesztett kifejezést illeszkedő részét is meg szeretnénk kapni • Illesztés után ez a $& speciális változóban tárolódik

13 13 Csoport képzése • A reguláris kifejezésen belül használhatunk zárójeleket, így csoportokat alakíthatunk ki. • A csoportra illeszkedő stringet kinyerhetjük – /(\w+) (\w+)/ – print ”Vezeteknev: ”.$1; – print ”Keresztnev: ”.$2;

14 14 Csere reguláris kifejezéssel • Szintaxis: – s/mit/mire/; (Alapértelmezett változóval) – $var=~s/mit/mire/; (Bármely változóval) • s/Veszpremi Egyetem/Pannon Egyetem/; • A zárójelezés itt is használható: • s/(Glomer)/censored $1/;

15 15 Globális csere • Az előző módszer csak az első találatot cseréli. • Az összes találat cseréjéhez a következő szintaxis használható: – s/mit/mire/g; (g=global)

16 16 Tabulált adatbázisok használata - I. • Reguláris kifejezések használatával egyszerűen kezelhetőek tabulált adatbázisok • A tabulált adatbázis egy szövegfájl, hasonló sorokkal: • Domotor Igor Felsoberecki 3985 06-70-753- 2527 • Bejczy Eva Saska 8308 06-85-220-704

17 17 Tabulált adatbázisok használata - II. • Az adatbázis feldolgozása: • open(BE, "lista_nagy.txt") or die("Hiba\n"); • while($sor= ){ • chomp($sor); • $sor=~/(\w+ \w+)\t(\w+)\t(\d+)\t(.*)$/; • print("Nev: ".$1."\n"); • print("Lakhely: ".$2."\n"); • print("Iranyitoszam: ".$3."\n"); • print("Telefonszam: ".$4."\n"); • print("\n");}

18 18 Tabulált adatbázisok használata - III. • A mezők darabolása után azok szintén darabolhatók, például a név vezeték- és keresztnévre, a telefonszám körzetszámra és egyébre. • Példa: Mobilosok és vezetékesek számlálása

19 19 Stringek vágása • A stringek darabolása egyszerűbben is megoldható: – split(/elválasztó/,string); • A függvény visszatérési értéke egy tömb lesz, amely az egyes mezőket tartalmazza. • A függvénynek megadható egy limit is: – split(/elválasztó/,string,lim );

20 20 Példa a split-re • @a=split(/[\t ]/,"aaaa bbb\tccccc"); • foreach $a (@a) • { • print $a."\n"; • } • Az elválasztó tetszőleges reguláris kifejezés lehet.

21 21 Mezők összeillesztése • join(elválasztó,tömb); • A függvény visszatérési értéke egy string. • $bejegyzes=join(”\t”,(”név”, ”cím”,”telefon”));


Letölteni ppt "Operációs rendszerek gyakorlat 10. Gyakorlat Vakulya Gergely."

Hasonló előadás


Google Hirdetések