_  _   ,_
/^\/^\-/ @D
~(________/ PERL.LT
|L |L
L L
Straipsniai  Funkcijos 
Funkcijos/grep - suranda elementus sąraše ir patikrina ar true, lyginant su kriterijum
  • grep BLOCK LIST
  • grep EXPR,LIST

    Panašus, bet ne toks pat kaip ir grep(1) ir šio giminaičiai. Tiesą sakant, jis nėra apribotas naudojimui vien su reguliariaisiais reiškiniais (regular expression).

    Prilygina BLOCK arba EXPR kiekvienam LIST elementui (lokaliai nustatant $_ kiekvienam elementui) ir gražina sąrašo reikšmę, susidedančią iš tų elementų, kuriems išsireiškimas buvo prilygintas true. Skaliariniame kontekste gražina skaičių, kiek kartų išsireiškimas buvo prilygintas true.

        @foo = grep(!/^#/, @bar);    # weed out comments

    or equivalently,

        @foo = grep {!/^#/} @bar;    # weed out comments

    Pažymėtina, kad $_ yra alternatyvus vardas (alias) sąrašo reikšmei, taigi, jis gali būti naudojamas pakeisti LIST elementams. Nors tai yra naudinga ir palaikoma, taip pat gali atnešti keistų rezultatų, jei LIST'o elementai nėra kintamieji. Panašiai, grep gražina alternatyvius vardus (alias) į originalųjį sąrašą, kaip for ciklo indeksinis kintamasis pavadina sąrašo elementurs. Tai yra, keičiant sąrašo elementą, gražintą grep (pvz. foreach , map ar kitas grep) iš tikrųjų pakeičia elementą originaliame sąraše. To dažniausia reikėtų išvengti rašant švarų kodą.

    Taip pat žr. map BLOCK ar EXPR rezultatų sudarytiems sąrašams.

algirdas@perl.lt 2005.04.11 - $dabar