in reply to How to avoid the duplication in a string

TIMTOWTDI:

#!/usr/bin/perl -w use strict; =head - Per OP $a='aabbccdddd'; I want the Output like this $a='abcd'; =cut my $a = 'aabbccdddd'; my $prev = ''; my @a = split //,$a; for my $found(@a) { if ($prev eq $found) { next; } else { print "\$found is: $found \n"; #Omit \n if oneline output desi +red. $prev = $found; next; } }
Output:
ww@GIG:~/pl_test$ perl -c 718695.pl 718695.pl syntax OK ww@GIG:~/pl_test$ perl 718695.pl $found is: a $found is: b $found is: c $found is: d

Note: This will fail on the likes of $a='aabbccadddd'

ww@GIG:~/pl_test$ perl 718695.pl $found is: a $found is: b $found is: c $found is: a # dup $found is: d

If the data is in this form, use a %hash as andreas1234567 does, above or sort the string.