in reply to With one regexp

Something like this?

$s ='a123456789'; $p = 0; print "a($1)($2)\n" while ++$p and $s =~ m[^a(.{$p})(.)]; a(1)(2) a(12)(3) a(123)(4) a(1234)(5) a(12345)(6) a(123456)(7) a(1234567)(8) a(12345678)(9)

I put numbers in so I could see what was going on, but it works fine with spaces too.

$s ='a '; $p = 0; print "a($1)($2)" while ++$p and $s =~ m[^a( {$p})( )]; a( )( ) a( )( ) a( )( ) a( )( ) a( )( ) a( )( )

Update: Or if you like cute, you can do away with the external loop and use backtracking.

$s ='a '; $s =~ m[^a(.+?)(.)(?{ print "a($1)($2)" })(?!)]; a( )( ) a( )( ) a( )( ) a( )( ) a( )( ) a( )( )

Examine what is said, not who speaks.
"Efficiency is intelligent laziness." -David Dunham
"Think for yourself!" - Abigail