Problems? Is your data what you think it is? PerlMonks

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 the web crawler heard nothing...

How do I use this? | Other CB clients
Other Users?
Others romping around the Monastery: (5)
As of 2020-05-31 05:39 GMT
Sections?
Information?
Find Nodes?
Leftovers?
Voting Booth?
If programming languages were movie genres, Perl would be:

Results (173 votes). Check out past polls.

Notices?