$ perl -le '
my @arry = qw/ a b cd gefge hhi jjkk l m nn o /;
print q{Originals: }, join q{ }, @arry;
my @n_arry =
grep { if ( $_ !~ m/(.).*?\g-1/ ) { $_; } } @arry;
print q{Uniques: }, join q{ }, @n_arry;
'
Originals: a b cd gefeg hhi jjk l m nn o
Uniques: a b cd l m o
$
####
$ perl -le '
my @arry = qw/ a b cd gefge hhi jjkk l m nn o /;
print q{Originals: }, join q{ }, @arry;
my @n_arry =
map { $_->{ori} }
grep { if ( $_->{ordered} !~ m/(.).*?\g-1/gx ) { $_; } }
map { my $str = my $o_str = $_;
my @p = sort { $a cmp $b } split //, $o_str;
$str = join q{ }, @p;
{ ori => $o_str, ordered => $str, };
} @arry;
print q{Uniques: }, join q{ }, @n_arry;
'
Originals: a b cd gefeg hhi jjk l m nn o
Uniques: a b cd l m o
$
##
##
$ perl -le '
my $str = shift;
print q{Original: }, $str;
print q{Unique: },
grep { if ( $_ !~ m/(.).*?\g-1/ ) { $_; }; } ( $str, );
' foobar
Original: foobar
Unique:
$ perl -le '
my $str = shift;
print q{Original: }, $str;
print q{Unique: },
grep { if ( $_ !~ m/(.).*?\g-1/ ) { $_; }; } ( $str, );
' bar
Original: bar
Unique: bar