Perl Array Funkcja Grep()

Używanie funkcji Array Grep() do filtrowania elementów tablicy

Inżynier pracujący w biurze

Aping Vision/STS/Photodisc/Getty Images





Funkcja grep() Perl jest filtrem, który uruchamia wyrażenie regularne na każdym elemencie tablicy i zwraca tylko te elementy, które są oceniane jako PRAWDA . Używanie wyrażeń regularnych może być niezwykle potężne i złożone. Funkcje grep() używają składni @List = grep(Expression, @array).

Używanie funkcji Grep() do zwracania prawdziwych wyrażeń

|_+_| |_+_|

Pomyśl o tablicy @myNames jako rzędzie ponumerowanych pól, od lewej do prawej i ponumerowanych od zera. Funkcja grep() przechodzi przez każdy z elementów (pól) w tablicy i porównuje ich zawartość z wyrażeniem regularnym. Jeśli wynik to PRAWDA , zawartość jest następnie dodawana do nowej tablicy @grepNames.



W powyższym przykładzie wyrażenie regularne /^A/ szuka dowolnej wartości, która zaczyna się od dużej litery A. Po przesianiu zawartości tablicy @myNames, wartość @grepNames staje się ('Alexander', 'Andrew') , jedyne dwa elementy, które zaczynają się od dużej litery A.

Odwracanie wyrażenia w funkcji Grep()

Jednym z szybkich sposobów na zwiększenie wydajności tej konkretnej funkcji jest odwrócenie wyrażenia regularnego za pomocą operatora NOT. Wyrażenie regularne szuka następnie elementów, których wynikiem jest fałszywy i przenosi je do nowej tablicy.



|_+_| |_+_|

W powyższym przykładzie wyrażenie regularne szuka dowolnej wartości, która nie zaczyna się od dużej litery A. Po przesianiu zawartości tablicy @myNames, wartość @grepNames staje się ('Jacob', 'Michael', 'Joshua ', 'Mateusz').

O Perlu

Perlto adaptowalny język programowania często używany do tworzenia aplikacji internetowych. Perl jest językiem interpretowanym, a nie kompilowanym, więc jego programy zajmują więcej czasu procesora niż język skompilowany — problem, który staje się mniej istotny wraz ze wzrostem szybkości procesorów. Jednak pisanie w Perlu jest szybsze niż pisanie w języku skompilowanym, więc zaoszczędzony czas należy do Ciebie.