Beefy Boxes and Bandwidth Generously Provided by pair Networks
Perl: the Markov chain saw
 
PerlMonks  

Re: Comparing keys in 3 different hashes and if they are the same them print the values on one line

by Kenosis (Priest)
on Mar 01, 2013 at 05:40 UTC ( #1021157=note: print w/replies, xml ) Need Help??


in reply to Comparing keys in 3 different hashes and if they are the same them print the values on one line

List::Compare can be helpful here. Just send the references to those three hashes to List::Compare's get_intersection method and it'll return the keys that those hashes have in common:

use strict; use warnings; use List::Compare; my %hash1 = ( A => 1, B => 2, C => 3, D => 4 ); my %hash2 = ( C => 30, D => 40, A => 10, B => 20 ); my %hash3 = ( F => 600, B => 200, A => 100, E => 500 ); my $lc = List::Compare->new( \%hash1, \%hash2, \%hash3 ); my @intersection = $lc->get_intersection; if (@intersection) { for my $key (@intersection) { print "\%hash1: $key => $hash1{$key}\n"; print "\%hash2: $key => $hash2{$key}\n"; print "\%hash3: $key => $hash3{$key}\n"; print "\n"; } } else { print "The three hashes don't share any common keys.\n"; }

Output:

%hash1: A => 1 %hash2: A => 10 %hash3: A => 100 %hash1: B => 2 %hash2: B => 20 %hash3: B => 200
  • Comment on Re: Comparing keys in 3 different hashes and if they are the same them print the values on one line
  • Select or Download Code

Log In?
Username:
Password:

What's my password?
Create A New User
Node Status?
node history
Node Type: note [id://1021157]
help
Chatterbox?
[Corion]: In Amsterdam, the screen went down to the bottom of the stage (60cm above ground) and the seating was on the ground, meaning that the rows in the back couldn't see the bottom of slides.
[Corion]: There also were some columns that meant that maybe you couldn't see the left/right edge of a slide.
[ambrus]: Corion: Sure. I've had a course in a 50 seat lecture hall that has two fucking columns in the middle.
[Corion]: Talking about it, the top should be fairly visible in the situations I've experienced at least. The top is uncomfortable for people in the first three rows, but that's life ;)
[ambrus]: The pillars are there because this is in the 6th floor of building R of BME, which is an attic that was built in after the original building, which is also why the elevator doesn't go that high and the windows are tiny.
[Corion]: ambrus: Hehe ;) Yeah - such real life stuff is far more inconveniencing than wasting display area due to screen ratio problems :)
[ambrus]: Corion: yes, it's a bit tricky. you can try to adjust the slides live to cover only a part of the screen, but it's still hard.
[ambrus]: Corion: two very hard things about presentations I should try to work on if I have twenty times as much free time as in real life are:
[Corion]: That's why I like HTML - it makes it relatively easy to resize stuff. Resizing with Powerpoint is much harder, or at least, I remember it being that way
[ambrus]: (a) good sans serif fonts optimized for slides in a projector with coverage of the symbols needed for mathematical formulas in a sans serif font matching the text font well, and

How do I use this? | Other CB clients
Other Users?
Others about the Monastery: (12)
As of 2017-09-26 10:14 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?
    During the recent solar eclipse, I:









    Results (293 votes). Check out past polls.

    Notices?