my @foo = qw( aaaaaaaa bbbbbbbb cccccccc dddddddd eeeeeeee ffffffff); sub foo { for ( @_ ) { $_ =~ s/(.)\1/$1/ || return; print $_ . "\n"; foo( $_ ); } } foo @foo; print @foo; #### aaaaaaa aaaaaa aaaaa aaaa aaa aa a bbbbbbb bbbbbb bbbbb bbbb bbb bb b ccccccc cccccc ccccc cccc ccc cc c ddddddd dddddd ddddd dddd ddd dd d eeeeeee eeeeee eeeee eeee eee ee e fffffff ffffff fffff ffff fff ff f abcdef