use strict;
use warnings;
my $str = q{abcdceefghfty};
for my $ch (qw(a b c d e f g))
{
print qq{"$ch" Unique in "$str"\n}
if $str !~ m{($ch)(?=.*\1)};
}
####
"a" Unique in "abcdceefghfty"
"b" Unique in "abcdceefghfty"
"d" Unique in "abcdceefghfty"
"g" Unique in "abcdceefghfty"
####
use strict;
use warnings;
my $str = q{abcdceefghfty};
for my $ch (q{a} .. q{z})
{
my $matchTxt
= q {\A}
. qq{[^$ch]*($ch)}
. q {(?!.*\1)};
my $rxUniq = qr{$matchTxt};
print qq{"$ch" unique in "$str"\n}
if $str =~ $rxUniq;
}