如何檢查 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" 這個詞不存在於給定的陣列中。
廣告
資料結構
網路
關係資料庫管理系統 (RDBMS)
作業系統
Java
iOS
HTML
CSS
Android
Python
C 程式設計
C++
C#
MongoDB
MySQL
Javascript
PHP