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

Scriptnyelvek 9. gyakorlat Papp Gyula 2010. április 29.

Hasonló előadás


Az előadások a következő témára: "Scriptnyelvek 9. gyakorlat Papp Gyula 2010. április 29."— Előadás másolata:

1 Scriptnyelvek 9. gyakorlat Papp Gyula gyupa@digitus.itk.ppke.hu 2010. április 29.

2 Tartalom Reguláris kifejezések Hibakezelés

3 Reguláris kifejezések 1 Reguláris kifejezést általában / jelek közé tesszük, de tehetjük más közé is, csak akkor kell 'az m' (ld. később) Mintaillesztés a =~ operátorral illetve a !~ operátorral történik Használható feltételben is if ( $line =~ /^\w+/ ) {... } A '()' karakterekkel körbezárt csoportok a $1, $2,... változókban érthetek el ◦ print “$1” if $line =~ /^(\w+)/;

4 Reguláris kifejezések 2 Az illesztés visszaadja egy listában a csoportokat ◦ my ($dir, $filename) = $absolute_path =~ m#(.*)/([^/]*)#; ◦ my ($dir, $filename) = $absolute_path =~ m#(.*)/(.*)#; Csere is könnyen megy: ◦ my $s = “Peti fizika jegye: 1”; $s =~ s/\d$/5/; Minden előfordulás cseréje: ◦ my $s = “Itt a meggy. Kell a meggy?”; $s =~ s/meggy/dinnye/g;

5

6 Feladat 1 Egy, a standard inputról beolvasott stringről döntsd el, hogy dátum-e! Fogadja el pl. az alábbiakat: ◦ 2008/11/21 ◦ 2008-10-01 Próbálj meg megszorításokat megfogalmazni a hónapokra és a napokra!

7 Feladat 2 Gyűjtsd össze egy szöveg szavait egy listába!

8 Hibakezelés I Feladat ◦ próbál kapcsolódni ◦ ha sikerül, folytassa a munkát ◦ ha nem sikerül, lépjen ki hibával Így írnánk meg: ◦ my $conn = get_connection(); unless (defined $conn) { die “Cannot connect: $!\n”;} # do the work

9 Hibakezelés 2 Írhatnánk ezt is: ◦ my $conn; unless (defined $conn = get_connection()) { die “Cannot connect: $!\n”;} # do the work De van más mód is Lusta kiértékelés ◦ and, or operátorok használhatóak, hiszen az értékadás is kifejezés ◦ &&, || is használhatóak, de ezeknek magasabb a precedenciájuk

10 Hibakezelés 3 my $conn = get_connection() or die “Cannot connect: $!\n”; Előnyei: ◦ tömör ◦ olvasható ◦ látszik a lényeg, nevezetesen, hogy kapcsolódni szeretnénk ◦ de közben korrekt hibakezelés is van ◦ Perl-es

11 Feladat 3 Olvass be egy fájl tartalmát, majd írd ki úgy, hogy minden mondat külön bekezdésbe kerüljön!

12 use strict; use warnings; use tmp; my $fajlnev = "index.html"; if ( $fajlnev !~ /\.[hH][tT][mM][lL]?$/ ) { die "Nem jo kiterjesztes!\n"; } open INPUT, $fajlnev or die $!; my @sorok = ; close INPUT; print tmp::atalakit(@sorok); sub atalakit { my @ujSorok; for (@_) { $_ =~ s/(<a href=)[^\s]+/$1LINK/g; push @ujSorok, $_; } return @ujSorok; } return 1;


Letölteni ppt "Scriptnyelvek 9. gyakorlat Papp Gyula 2010. április 29."

Hasonló előadás


Google Hirdetések