Средства UNIX-систем в значительной мере основаны на концепции о том, что программа служит фильтром данных, поток которых поступает на вход, а отфильтрованные данные — на выход. Таким образом, программа-фильтр отбрасывает нежелательные данные. MS DOS также поддерживает концепцию фильтра данных. Утилита grep в среде UNIX представляет собой классический пример фильтра данных. Эта утилита сканирует входной поток данных в поиске строк, которые соответствуют заданному шаблону. Программа направляет на выход те строки, которые соответствуют этому шаблону. Она отфильтровывает, отбрасывает строки, не удовлетворяющие шаблону.
Perl идеально подходит для построения фильтров данных. Действительно, вы можете создать простую версию утилиты grep, используя следующий короткий скрипт на языке Perl :
$ pattern = shift (@ ARGV ); # берет командную строку
while (<>)
{ # читать строку из входного потока
print if (/$pattern/); # output line if it matches
}