thundergnat's solution is the best I can see (I came up with it independently) because it avoids the ugly removal of every 2nd item. However, because variety is the spice of life I present the ganglier:

my @runs = do { my $i; grep ++$i%2, split /(?<=(.))(?!\1)/, 'aaabbcddd +daee' };
which suffers from the same annoyance as your original solution: the parens, which are needed for the back reference, have the annoying side effect here of changing the semantics of what split returns.


In reply to Re: Puzzlement in Splitsville by eyepopslikeamosquito
in thread Puzzlement in Splitsville by tlm

Title:
Use:  <p> text here (a paragraph) </p>
and:  <code> code here </code>
to format your post; it's "PerlMonks-approved HTML":