#!/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; #### { a => [1, 2], b => [2, 3], c => [1, 2] } { a => [1, 2], b => [2, 3] }