improved the efficiency of the isIn function as suggested by "John W. Krahn" <krahnj@acm.org>

This commit is contained in:
JT Smith 2003-01-02 00:02:16 +00:00
parent aea57457bb
commit 84f741e806

View file

@ -98,23 +98,9 @@ An array to look for the value in.
=cut
sub isIn {
my ($i, @a, @b, @isect, %union, %isect, $e);
foreach $e (@_) {
if ($a[0] eq "") {
$a[0] = $e;
} else {
$b[$i] = $e;
$i++;
}
}
foreach $e (@a, @b) { $union{$e}++ && $isect{$e}++ }
@isect = keys %isect;
if (@isect) {
undef @isect;
return 1;
} else {
return 0;
}
my $key = shift;
$_ eq $key and return 1 for @_;
return 0;
}
#-------------------------------------------------------------------