#!perl -l use strict; use warnings; my %ref = qw(a 1 b 2 c 3 d 4); my %raw = qw(a 1 b 2 c 4 e 4); my %keys; @keys{keys %ref, keys %raw} = 0; for (keys %keys) { unless (defined $raw{$_} && defined $ref{$_} && $raw{$_} eq $ref{$_}) { my $vraw = defined $raw{$_} ? $raw{$_} : "undef"; my $vref = defined $ref{$_} ? $ref{$_} : "undef"; print "$_: $vraw, $_: $vref"; } }