如何檢查 Perl 陣列中是否包含特定值?
在 Perl 中,我們可以使用 "grep" 關鍵字來檢查陣列中是否包含特定值。"grep" 函式用於從專案列表中篩選函式引數中提供的輸入。類似於 Linux,它使用給定的輸入查詢匹配的值。
grep() 方法
"grep" 是 Perl 的內建函式,我們可以將正則表示式傳遞給此函式。它將檢查輸入中是否存在匹配的值,並根據條件真假返回列表。
語法
由於它是 Perl 的內建函式,因此我們不需要包含任何庫即可使用 grep() 方法。其語法如下:
grep(regular_expression, @my_array)
現在我們對 "grep" 函式有了一些瞭解,讓我們透過一些例子來更好地理解它。
示例 1
考慮以下程式碼。這裡我們沒有使用 "grep" 函式。我們將簡單地列印陣列的元素,然後在下一個示例中新增 "grep" 關鍵字來查詢陣列是否包含特定元素。
use warnings; use strict; my @weekdays = qw(Mon Tue Wed Thu Fri Sat Sun); print($weekdays[0]); print("\n"); print($weekdays[2]);
輸出
如果在 Perl 編譯器上執行以上程式碼,您將在終端上得到以下輸出:
Mon Wed
這裡,我們只是建立了一個數組,然後顯示了它的第一個和第三個元素。
示例 2
現在,讓我們在上面的示例中使用 "grep" 方法,看看它如何幫助我們查詢陣列中的元素。考慮以下程式碼。
use warnings; use strict; my @weekdays = qw(Mon Tue Wed Thu Fri Sat Sun); print($weekdays[0]); print("\n"); print($weekdays[2]); print("\n"); if (grep(/^Mon/, @weekdays)) { print "found it"; } else { print "Not present in array"; } print("\n"); if (grep(/^Ran/, @weekdays)) { print "found it"; } else { print "Not present in array"; }
輸出
如果在 Perl 編譯器上執行以上程式碼,您將在終端上得到以下輸出。
Mon Wed found it Not present in array
觀察到第一個 "grep" 方法返回 "found it",因為 "Mon" 這個詞存在於陣列中。然而,在第二種情況下,"grep" 方法返回 "Not present in array",因為 "Ran" 這個詞不存在於給定的陣列中。
廣告