Patogus Perlo įpraiškų naudojimas

Tarkim jums reikia, kad pritaikyti įpraišką simbolių eilutei ir
rezultatus sudėti į masyvą. Perle tai labai lengva:

@masyvas = $eilute =~ m/(kazkas)/g;

Šitas kodo gabaliukas veikia, nes =~ turi didesnę
reikšmę nei = ir todėl įpraiška yra pritaikoma anksčiau.

Jeigu reikia sužinoti tik kiek kartų įpraiška atitiko eilutę galima
daryti taip:

$kiek_kartu = $eilute =~ m/(kazkas)/g;

Viskas labai paprasta: jeigu rezultatą priskiriame masyvui, tai
gauname atitikmenų masyvą, jeigu rezultatą priskiriame paprastam
skaliarui, tai gauname atitikmenų skaičių. Viską galima padaryti ir
vienu ypu:

$kiek_kartu = @masyvas = $eilute =~ m/(kazkas)/g;

Tad šituo pasinaudojant galima tarkim išsitraukti visas nuorodas iš
HTML:

@nuorodos = $html =~ m/<a[^>]+href\s*=\s*["']?([^"'> ]+)/ig;

Nors tokiai užduočiai gal ir geriau naudoti HTML::LinkExtor
modulį.

Comments Closed

2 Comments

Comments are closed.