Функция grep фильтрует элементы списка, для которых заданное выражение принимает значение «ложно». Она имеет следующий формат:
@list = grep(Expression, List);
Функция grep просматривает элементы списка, подставляя их в качестве аргумента в заданное выражение. Функция grep присваивает текущее выражение элемента списка переменной $_ и вычисляет заданное выражение. Если полученное выражение является истинным, то функция grep добавляет этот элемент к результирующему списку. Следующий фрагмент программы иллюстрирует использование функции grep:
@list = grep($_ & 1, 1..10); # @list (1,3,5,7,9)
@list = (‘a’, ‘’ ‘b’); # @list (‘a’,’ ‘,’b’)
@list = grep($_ eq ‘’, @list); # @list (‘a’,’b’)
Примечание: Если выражение, модифицирует переменную. $_, то исходный
список также будет модифицирован.