How can I check if a Perl array contains a particular value?
arrays, comparison, perl
Solution
Simply turn the array into a hash:
my %params = map { $_ => 1 } @badparams;
if(exists($params{$someparam})) { ... }
You can also add more (unique) params to the list:
$params{$newparam} = 1;
And later get a list of (unique) params back:
@badparams = keys %params;
Problem
I am trying to figure out a way of checking for the existence of a value in an array without iterating through the array. I am reading a file for a parameter. I have a long list of parameters I do not want to deal with. I placed these unwanted parameters in an array `@badparams`. I want to read a new parameter and if it does not exist in `@badparams`, process it. If it does exist in `@badparams`, go to the next read.