grep

Синтаксис

grep BLOCK LIST
grep EXPR, LIST

Описание

Функция во многом похожа на одноименную программу grep и ее многочисленных родственников. Однако имеются и некоторые отличия. В частности, функция не ограничена использованием только регулярных выражений.
Функция grep оценивает значение BLOCK или EXPR на предмет совпадения с каждым элементом списка LIST (устанавливая локально значение $_ поочередно равным каждому элементу) и возвращает список значений, составленный из этих элементов, которые удовлетворяют критерию совпадения. При вызове в скалярном контексте функция возвращает количество совпадений.
Например:
@foo = grep(!/^#/, @bar);   # Вырезаем комментарии или, что эквивалентно:
@foo = grep {!/^#/} @bar;   # Вырезаем комментарии
Обратите внимание, что, поскольку $_ представляет собой ссылку на списочное значение, эта переменная может использоваться для модификации элементов массива. Но хотя эта возможность документирована и весьма полезна, ее бездумное применение может привести к непредсказуемым результатам, если LIST не является именованным массивом.
Подобным же образом grep работает и со списками. Это означает, что модификация списка, возвращенного grep, приведет к модификации исходного списка.



2011-04-26 00:53:16 lykich

Thanks




Оставить комментарий:
Ваше Имя:
Email:
Антибот: *  
Ваш комментарий: