Beefy Boxes and Bandwidth Generously Provided by pair Networks
Perl Monk, Perl Meditation
 
PerlMonks  

Re: hash keys compare

by Zaxo (Archbishop)
on Dec 19, 2007 at 08:54 UTC ( #657829=note: print w/ replies, xml ) Need Help??


in reply to hash keys compare

Do the parent keys have to match?

Otherwise,

my @unseen = do { delete %{$hash1->{$a}{$b}}, keys %{$hash2->{$d}{$e}}; keys %{$hash1->{$a}{$b}}; }
That leaves it up to you to set up the parent keys you want in the match. That's destructive of $hash1.

$a and $b are poor choices for variable names. They are sacred to sort and can have side effects.

After Compline,
Zaxo


Comment on Re: hash keys compare
Download Code
Re^2: hash keys compare
by Anonymous Monk on Dec 19, 2007 at 13:49 UTC
    hi Zaxo, What you have done makes sense, except that I dont want to delete but I want to print the variables. I just want to be able to print it . I am also getting this error when I use the code. html delete argument is not a HASH or ARRAY element or slice at db2cfg-report line 394. /html
Re^2: hash keys compare
by Anonymous Monk on Dec 19, 2007 at 16:09 UTC
    if you do not want to alter the original hashes, then you must make copies of them before deleting. e.g.:

    > perl -wMstrict -e "my $hashrefA = {}; my $hashrefB = {}; my ($p, $q, $r, $s) = qw(fee fie foe fum); $hashrefA->{$p}{$q} = { qw(a 1 b 2 x 8 y 9) }; $hashrefB->{$r}{$s} = { qw(c 3 d 4 x 6 y 7) }; my %Apq_not_in_Brs = %{ $hashrefA->{$p}{$q} }; delete @Apq_not_in_Brs{ keys %{ $hashrefB->{$r}{fum} } }; my %Brs_not_in_Apq = %{ $hashrefB->{$r}{$s} }; delete @Brs_not_in_Apq{ keys %{ $hashrefA->{fee}{$q} } }; print qq(Apq not in Brs: @{[ keys %Apq_not_in_Brs ]} \n); print qq(Brs not in Apq: @{[ keys %Brs_not_in_Apq ]} \n); " Apq not in Brs: a b Brs not in Apq: c d

    also: please give the monks a break and read and follow the Writeup Formatting Tips; the markup you're using is not doing what you seem to expect.

Log In?
Username:
Password:

What's my password?
Create A New User
Node Status?
node history
Node Type: note [id://657829]
help
Chatterbox?
and the web crawler heard nothing...

How do I use this? | Other CB clients
Other Users?
Others rifling through the Monastery: (5)
As of 2015-07-06 02:15 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    The top three priorities of my open tasks are (in descending order of likelihood to be worked on) ...









    Results (69 votes), past polls