Beefy Boxes and Bandwidth Generously Provided by pair Networks
P is for Practical

Re: RFC: The Uniqueness of hashes.

by Ctrl-z (Friar)
on Sep 25, 2005 at 08:22 UTC ( [id://494886] : note . print w/replies, xml ) Need Help??

in reply to The Uniqueness of hashes.

Nice. A variation on the unique/duplicate stuff:
# Assuming @foo and @bar dont contain duplicates in themselves... $_{$_}++ for @foo; $_{$_}-- for @bar;
The values in %_ are positive if in @foo, negative if in @bar and 0 if in both.

time was, I could move my arms like a bird and...

Replies are listed 'Best First'.
Re^2: RFC: The Uniqueness of hashes.
by graff (Chancellor) on Sep 25, 2005 at 16:49 UTC
    And a variation on that, which handles duplicate values within the arrays as well:
    $_{$_} .= 'a' for @foo; $_{$_} .= 'b' for @bar; # $_{$key} =~ /ab/ iff $key was in @foo and @bar # /a$/ iff $key was only in @foo # /^b/ iff $key was only in @bar # number of occurrences in # $foo_plus_bar = length($_{$key}); # $foo_only = ( $_{$key} =~ tr/a// ); # $bar_only = ( $_{$key} =~ tr/b// );
    Adapting that to handle up to 26 arrays is trivial -- just set a scalar to 'a' for the first array, and increment it for each successive array; using a regex to determine the distribution for a given array value is left as an exercise...

    (I updated the last three comment lines to be more consistent with the first three comment lines.)