in reply to Unique character in a string?
And at this point if you want to check whether a particular character is unique you could do this:use strict; use warnings; my $a = '12345678901'; # Create a hash which has a count of the number # of times a character appears in the string. my %tally; $tally{$_}++ for split '', $a; # # Find hash keys that only have 1 match # my @unique = grep {$tally{$_} == 1} keys %tally; print "Unique keys:\n"; print "$_\n" for sort @unique;
If you are only looking to check for a particular character, then you can count the characters like this:if ($tally{2} == 1) { print "2 is unique\n"; }
my $a = '12345678901'; my $cnt = $a =~ tr/1//; #In this case $cnt = 2, which means it is not unique
|
|---|