diff --git a/lib/NGCP/BulkProcessor/Array.pm b/lib/NGCP/BulkProcessor/Array.pm index 9c3c3cb..a0c6f6d 100644 --- a/lib/NGCP/BulkProcessor/Array.pm +++ b/lib/NGCP/BulkProcessor/Array.pm @@ -18,8 +18,8 @@ our @EXPORT_OK = qw( contains arrayeq mapeq - seteq setcontains + seteq filter getroundrobinitem getrandomitem @@ -155,33 +155,26 @@ sub arrayeq { return 1; } -sub seteq { +sub setcontains { my ($array_ptr1, $array_ptr2, $case_insensitive) = @_; my $ubound1 = _array_last($array_ptr1) // -1; - my $ubound2 = _array_last($array_ptr2) // -1; - # every element of array1 must be existent in array2 ... + # every element of array1 must be existent in array2: foreach my $i (0 .. $ubound1) { return 0 if not contains($array_ptr1->[$i], $array_ptr2, $case_insensitive); } - # ... and every element of array2 must be existent in array1 - foreach my $i (0 .. $ubound2) { - return 0 if not contains($array_ptr2->[$i], $array_ptr1, $case_insensitive); - } return 1; } -sub setcontains { +sub seteq { my ($array_ptr1, $array_ptr2, $case_insensitive) = @_; - my $ubound1 = _array_last($array_ptr1) // -1; - - # every element of array1 must be existent in array2: - foreach my $i (0 .. $ubound1) { - return 0 if not contains($array_ptr1->[$i], $array_ptr2, $case_insensitive); - } + # every element of array1 must be existent in array2 ... + return 0 if not setcontains($array_ptr1, $array_ptr2, $case_insensitive); + # ... and every element of array2 must be existent in array1 + return 0 if not setcontains($array_ptr2, $array_ptr1, $case_insensitive); return 1; }