in reply to Re: Split string into equal parts
in thread Split string into equal parts

For those still stuck in 5.8-dom, it's possible to do this substitution without use of the  \K special escape of 5.10:

>perl -wMstrict -le "for (@ARGV) { (my $sp = $_) =~ s{ (.{4}) (?= .) }{$1 }xmsg; print qq{'$_' -> '$sp'}; } " "" A ABC ABCD ABCDa ABCDabc ABCDabcd ABCDabcdE '' -> '' 'A' -> 'A' 'ABC' -> 'ABC' 'ABCD' -> 'ABCD' 'ABCDa' -> 'ABCD a' 'ABCDabc' -> 'ABCD abc' 'ABCDabcd' -> 'ABCD abcd' 'ABCDabcdE' -> 'ABCD abcd E'

This approach is likely less efficient due to use of a capture. Is it possible to do this operation in a pre-5.10 solo substitution (i.e., no  m//  unpack  join etc.) without a capture and in a fairly simple way (for some definition of 'fairly simple')?