my %seen; for (values %$HASH1) { $_ = [ grep { ! $seen{$_}++ } @$_ ]; }