### Re: RFC: The Uniqueness of hashes.

by Ctrl-z (Friar)
 on Sep 25, 2005 at 08:22 UTC ( #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.)

Create A New User
Node Status?
node history
Node Type: note [id://494886]
help
Chatterbox?
and all is quiet...

How do I use this? | Other CB clients
Other Users?
Others wandering the Monastery: (9)
As of 2017-11-20 16:04 GMT
Sections?
Information?
Find Nodes?
Leftovers?
Voting Booth?
In order to be able to say "I know Perl", you must have:

Results (288 votes). Check out past polls.

Notices?