Функцията Perl grep () е филтър, който изпълнява редовен израз на всеки елемент от масив и връща само елементите, които се оценяват като вярно. Използването на регулярни изрази може да бъде изключително мощно и сложно. Функциите grep () използват синтаксиса @List = grep (Expression, @array).
Използване на функция Grep () за връщане на истински изрази
@myNames = ('Яков', 'Михаил', 'Джошуа', 'Матю', 'Александър', 'Андрей');
@grepNames = grep (/ ^ A /, @myNames);
Помислете за масива @myNames като ред от номерирани полета, преминаващ отляво надясно и номериран като започва с нула. Функцията grep () преминава през всеки от елементите (полетата) в масива и сравнява тяхното съдържание с регулярния израз. Ако резултатът е вярнослед това съдържанието се добавя към новия масив @grepNames.
В горния пример, регулярният израз / ^ A / търси всяка стойност, която започва с главна буква А. След пресяване на съдържанието на масива @myNames стойността на @grepNames става („Александър“, „Андрей“), единствените два елемента, които започват с главна буква А.
Обръщане на израза във функция Grep ()
Един бърз начин да направите тази конкретна функция по-мощна е да обърнете правилния израз с оператора NOT. След това регулярният израз търси елементи, които оценява фалшив и ги премества в новия масив.
@myNames = ('Яков', 'Михаил', 'Джошуа', 'Матю', 'Александър', 'Андрей');
@grepNames = grep (! / ^ A /, @myNames);
В горния пример, регулярният израз търси всяка стойност, която не започва с главна буква А. След пресяването на съдържанието на масива @myNames стойността на @grepNames става („Яков“, „Майкъл“, „Джошуа“, „Матей“).
За Perl
Perl е адаптивен език за програмиране, често използван за разработване на уеб приложения. Perl е интерпретиран, а не компилиран език, така че програмите му заемат повече време на процесора от компилиран език - проблем, който става по-маловажен с увеличаването на скоростта на процесорите. Писането в Perl обаче е по-бързо от писането на компилиран език, така че времето, което спестявате, е ваше.