今日のperl チップ ハッシュのkeyを比べよう。

hash vs hash の変数のkeyのマッチを調べたい時があるよね!こんな感じでできるよ!
Data::FormValidatorのコードをパクって借りようとして、気になったところを今日のperlチップとかっこ良くいって、メモってるのは秘密だよ!

#!/usr/bin/perl

use strict;
use warnings;
use Data::Dumper;

my %a = ( a => 1 , ab =>2 ,ac => 3 );
my %b = ( b => 1 , bb =>2 ,bc => 3 );
my %key =(  a=> 1, b => 1, c=>1 );

my @unknown = grep { not ( exists $a{$_} or exists $b{$_} ) } keys %key;
my @known = grep { ( exists $a{$_} or exists $b{$_} ) } keys %key;

warn Dumper \@unknown;
warn Dumper \@known;

結果

$VAR1 = [
          'c'
        ];
$VAR1 = [
          'a',
          'b'
        ];