Perl grep () funkcija ir filtrs, kas palaiž regulāru izteiksmi katram masīva elementam un atgriež tikai tos elementus, kas novērtēti kā taisnība. Regulāro izteiksmju izmantošana var būt ārkārtīgi jaudīga un sarežģīta. Funkcijās grep () tiek izmantota sintakse @List = grep (Expression, @array).
Funkcijas Grep () izmantošana patieso izteiksmju atgriešanai
@myNames = ('Jēkabs', 'Maikls', 'Joshua', 'Mathew', 'Aleksandrs', 'Andrew');
@grepNames = grep (/ ^ A /, @myNames);
Padomājiet par @myNames masīvu kā numurētu lodziņu rindu, virzoties no kreisās uz labo pusi un numurējot, sākot ar nulli. Funkcija grep () iet caur katru masīva elementu (lodziņu) un salīdzina to saturu ar regulāro izteiksmi. Ja rezultāts ir taisnība, pēc tam saturs tiek pievienots jaunajam @grepNames masīvam.
Iepriekš minētajā piemērā regulārā izteiksme / ^ A / meklē jebkuru vērtību, kas sākas ar lielo A. Pēc @myNames masīva satura izsijāšanas @grepNames vērtība kļūst par ('Alexander', 'Andrew'), kas ir vienīgie divi elementi, kas sākas ar lielo A.
Izteiksmes apgriešana greifra () funkcijā
Viens ātrs veids, kā padarīt šo funkciju jaudīgāku, ir apgriezt regulāro izteiksmi ar operatoru NOT. Pēc tam regulārā izteiksme meklē elementus, kuri tiek vērtēti pēc viltus un pārvieto tos uz jauno masīvu.
@myNames = ('Jēkabs', 'Maikls', 'Joshua', 'Mathew', 'Aleksandrs', 'Andrew');
@grepNames = grep (! / ^ A /, @myNames);
Iepriekš minētajā piemērā regulārā izteiksme meklē jebkuru vērtību, kas nesākas ar A kapitālu. Pēc @myNames masīva satura izsijāšanas @grepNames vērtība kļūst par ('Jēkabs', 'Miķelis', 'Joshua', 'Metjū').
Par Perlu
Perls ir pielāgojama programmēšanas valoda, ko bieži izmanto tīmekļa lietojumprogrammu izstrādei. Perl ir interpretēta, nevis apkopota valoda, tāpēc tās programmas aizņem vairāk CPU laika nekā apkopota valoda - problēma, kas kļūst mazāk svarīga, palielinoties procesora ātrumam. Tomēr Perl rakstīšana notiek ātrāk nekā rakstīšana apkopotā valodā, tāpēc ietaupītais laiks ir jūsu.