#!/usr/bin/env perl use strict; use warnings; use Data::Dump; my %hash = ('a' => ['1', '2'], 'b' => ['2', '3'], 'c' => ['1', '2']); dd \%hash; my %seen; $seen{join $; => @{$hash{$_}}}++ and delete $hash{$_} for keys %hash; dd \%hash;