my $temp = ...; my @compare = map { join('|',sort @$_) } sort @$temp; my %unique; @unique{@compare} = (1) x @compare; $temp = [ map {[ split /\|/, $_ ]} keys %unique ]; print Dumper $temp;