Что такое grep в perl и как его использовать


Название

grep — это встроенная в Perl функция, которая ищет в списке элементы, удовлетворяющие заданному условию. Используется для извлечения и преобразования данных.

Отличается от стандартной unix-программы grep тем, что стандартный grep выполняет поиск строк в одном или нескольких файлах, соответствующие заданному регулярному выражению.

Синтаксис

Описание

Функция вычисляет EXPR или BLOCK для каждого элемента LIST.

В списковом контексте возвращает элементы, для которых выражение EXPR или BLOCK является истинным. В скалярном контексте возвращает число — сколько элементов LIST соответствует заданному условию.

Вывод:

Во время работы функция grep поочередно присваивает переменной $_ значения элементов из списка, и проверяет это значение на соответствие заданному условию. Одновременно с отбором элементов, можно вносить в них изменения.

Главное при этом помнить, что EXPR или BLOCK могут выполнять модификацию исходного списка.

Вывод:

Примеры

Поиск в сложной структуре данных

Есть список кандидатов на вакансию. Каждый кандидат обладает определенными навыками. Надо найти имена тех кандидатов, которые обладают списком заданных навыков (например: perl и mysql).

Вывод:

Поиск в сложной структуре данных — 2

Требуется вывести имена сотрудников, специализирующихся на работе с oracle.

Вывод:

Поиск одновременно в нескольких массивах

Поиск элементов по численному значению

Полезные ссылки

perl.find-info.ru: Функция grep
opennet.ru: grep (freebsd)