use strict; use Data::Dumper; my @AoA = (['a,','b','c'], ['a',',b','c'], ); my $uAoA = uniqAoA(\@AoA); print Dumper $uAoA; sub uniqAoA { my ($array) = @_; my %res; foreach my $ar (@{$array}) { my $str = join (",",@{$ar}); $res{$str} = 1; } my @kys = keys(%res); my @final; foreach(@kys) { my @a = split(",",$_); push @final, [ @a ]; } return \@final; } #### $VAR1 = [ [ 'a', '', 'b', 'c' ] ];