in reply to Re: Retrieving Key and Value Hashes
in thread Retrieving Key and Value Hashes
Or just return a nested 3rd hash with the matching key/values.
use strict; use warnings; use Data::Dumper; my $hash1 = {qw/ name1 ABCD name2 BCD name3 ASCDA name4 AAAAA /}; my $hash2 = {qw/ name1 0.2 name5 0.3 name4 0.0002 name7 0.222 /}; my %hash3 = &{sub{ my ($hash1,$hash2,) = @_; my %hash3; foreach my $key (sort keys $hash1){ if(defined($hash2->{$key})){ $hash3{'hash1_values'}{$key} = $hash1->{$key}; $hash3{'hash2_values'}{$key} = $hash2->{$key}; } } return %hash3; }}($hash1, $hash2); print Dumper(sort %hash3);
My output:
rsx491@temple:~/Perl/test$ perl hash_compare_return_hash.pl
$VAR1 = {
'name1' => '0.2',
'name4' => '0.0002'
};
$VAR2 = {
'name1' => 'ABCD',
'name4' => 'AAAAA'
};
$VAR3 = 'hash1_values';
$VAR4 = 'hash2_values';
|
|---|