我试图找出一种方法来检查数组中的值的存在,而不迭代数组。
我正在读一个参数的文件。我有一个长列表的参数我不想处理。我把这些不需要的参数放在数组@badparams中。
我想读一个新的参数,如果它不存在于@badparams,处理它。如果它存在于@badparams中,请转到下一个读取。
解决方法
只需将数组变成一个哈希:
my %params = map { $_ => 1 } @badparams; if(exists($params{$someparam})) { ... }
您还可以向列表中添加更多(唯一)参数:
$params{$newparam} = 1;
后来得到一个(唯一)param列表:
@badparams = keys %params;