in reply to Compare Hashes and Arrays
Provided that either the array's values are unique or provided that you don't care for the number of occurences, you could use the array's values as hash keys. You can either compare the hashes, as you already are able to, or you can try this:
my @base= qw/b c d e/; my @dist= qw/w x y z/; my @id = @base; my @more= qw/a b c d e/; my @less= qw/b c d/; my @intr= qw/a b c d/; print compare(\@base, \@dist); print compare(\@base, \@id ); print compare(\@base, \@more); print compare(\@base, \@less); print compare(\@base, \@intr); sub compare { my($b, $c)= @_; my %a; @a{@$b}= (); my $n= scalar %a; @a{@$c}= (); return "differ\n" if $n ne scalar %a; delete @a{@$c}; return "differ\n" if scalar %a; return "identical\n"; }
s$$([},&%#}/&/]+}%&{})*;#$&&s&&$^X.($'^"%]=\&(|?*{%
+.+=%;.#_}\&"^"-+%*).}%:##%}={~=~:.")&e&&s""`$''`"e
|
---|
In Section
Seekers of Perl Wisdom