#!/usr/bin/perl use strict; use warnings; my %hash1 = ( 'a' => [1, 2, 3], 'b' => [4, 4, 3], 'd' => [5, 2, 'H'], ); my %hash2 = ( 'a' => [1, 2, 3], 'd' => [5, 'f', 'H'], 'c' => [8, 'r', 9], ); while (my ($k,$v1)= each %hash1){ if (my $v2 = $hash2{$k}) { print "$k ungleich" if "@$v1" ne "@$v2" ; } }