use Data::Dump qw[ pp ]; my @v = ([100, 200],[200, 300],[200, 100], [200, 200]);; my %uniq; my @r = grep{ ++$uniq{ join $;, sort @$_ } == 1 } @v;; pp @r;; #([100, 200], [200, 300], [200, 200])