while ( my $string = ) { $string =~ s/(.)(\1+)/$1.length($1.$2)/ge; print $string; } __DATA__ Balloon bookkeeper Wheeeee!!!