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