This may be what you are trying to achieve, though it's not very pretty:
use strict;
use warnings;
use List::Compare::Functional qw(is_LequivalentR);
use Data::Dumper;
my @AoA = (['a','b','c'],
['a','b','c'],
['a','b','d'],
['a','b','d']);
my @uAoA;
skip: for my $ia (0..(@AoA-1)){
for my $ir (0..(@uAoA-1)){
next skip if is_LequivalentR ([\@{$AoA[$ia]}, \@{$uAoA[$ir]}]);
}
push @uAoA, [@{$AoA[$ia]}];
}
print Dumper \@uAoA;
Outputs:
$VAR1 = [
[
'a',
'b',
'c'
],
[
'a',
'b',
'd'
]
];
Perl is Huffman encoded by design.