如何检查 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" 这个词不存在于给定的数组中。
广告