#!/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. |