in reply to Splitting on non-initial uppercase without split
substr ($s, 1) =~ s/([A-Z])/ $1/g; [download]
Yep. Or per the OP's substitution, which I prefer:
substr( $s, 1 ) =~ s/(?=[A-Z])/ /g; [download]
Makeshifts last the longest.