我正在循环一个数组,我想测试一个元素是否在另一个数组中被找到.
在伪代码中,我要做的是这样的:
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上阅读的解决方案…我真的真的,诚实地感谢代码中明确的任何答案,并提供代码正在做什么的逐步说明…
…我认真地不要吝啬$_和任何其他类型或类型的隐藏,理解或暗示的价值,变量或功能.我真的很感激,如果任何示例或样本具有所有的变量和函数以明确的术语命名($术语而不是$_)…并用注释描述代码正在做什么,我在所有我的精神缺陷的荣耀中,可能希望有一天可能会理解它.请. 原文链接:https://www.f2er.com/Perl/171529.html