如何确定元素是否存在于数组(perl)中

我正在循环一个数组,我想测试一个元素是否在另一个数组中被找到.

在伪代码中,我要做的是这样的:

foreach $term (@array1) {
    if ($term is found in @array2) { 
        #do something here
    }
}

我有“foreach”和“做某事在这里”部分down-pat …但我尝试过的所有“if术语在数组中找到”测试不工作…

我试过grep:

if grep {/$term/} @array2 { #do something }
# this test always succeeds for values of $term that ARE NOT in @array2

if (grep(/$term/,@array2)) { #do something }
# this test likewise succeeds for values NOT IN the array

我已经尝试了几个不同的风格的“将数组转换为散列”,许多以前的帖子表明是如此简单和容易…而且没有一个工作.

我是perl的长期低级用户,我只理解Perl的基础知识,不明白所有奇怪的混淆代码,其中包含99%的在Interwebs上阅读的解决方案…我真的真的,诚实地感谢代码中明确的任何答案,并提供代码正在做什么的逐步说明…

…我认真地不要吝啬$_和任何其他类型或类型的隐藏,理解或暗示的价值,变量或功能.我真的很感激,如果任何示例或样本具有所有的变量和函数以明确的术语命名($术语而不是$_)…并用注释描述代码正在做什么,我在所有我的精神缺陷的荣耀中,可能希望有一天可能会理解它.请.

相关文章

1. 如何去重 #!/usr/bin/perl use strict; my %hash; while(...
最近写了一个perl脚本,实现的功能是将表格中其中两列的数据...
表的数据字典格式如下:如果手动写MySQL建表语句,确认麻烦,...
巡检类工作经常会出具日报,最近在原有日报的基础上又新增了...
在实际生产环境中,常常需要从后台日志中截取报文,报文的形...
最近写的一个perl程序,通过关键词匹配统计其出现的频率,让...