foreach my $i1 (@LongListOfIntegers) { ($i1 & $_)==1 and undef $MatchedIntegers{$i1}{$_} foreach @LongListOfIntegers; } #### foreach my $i1 (@LongListOfIntegers) { use integer; ($i1 & $_) == 1 and undef $MatchedIntegers{$i1}{$_} foreach @LongListOfIntegers; } #### @LongListOfIntegers = grep $_ &1, @LongListOfIntegers; foreach my $i1 (@LongListOfIntegers) { use integer; ($i1 & $_) == 1 and undef $MatchedIntegers{$i1}{$_} foreach @LongListOfIntegers; } #### @LongListOfIntegers = grep $_ &1, @LongListOfIntegers; foreach my $i1 ( 0 .. $#LongListOfIntegers) { use integer; my $v = $LongListOfIntegers[ $i1 ]; ($v & $_) == 1 and undef $MatchedIntegers{$i1}{$_} foreach @LongListOfIntegers[ $i1+1 .. $#LongListOfIntegers ]; }