Help for this page
print join ' ', map { $_{w}=0; join '', map { ++$_{w} == 1 ? $_ : chr( (ord)+(1<<5) ) } split '' } split;
# If you wanted to stay away from push you could also write: $_[$#_+1] +=$_ s/(.)(.*)/$1 . lc($2)/e and push @_,$_ for split; print "@_$/";