my $ok = no_common_item_in_these_numeric_sorted_lists( [1, 2, 3], [2, 4, 6] ); sub no_common_item_in_these_numeric_sorted_lists { my @x = @{+shift}; # these are copies my @y = @{+shift}; ## presuming numeric sorted while (@x or @y) { shift @x, next if not @y or $x[0] < $y[0]; shift @y, next if not @x or $x[0] > $y[0]; return 0; # not ok - we found an identical item } return 1; # ok - we found no identical items }