http://www.perlmonks.org?node_id=428230


in reply to Re^2: Scalar refs, aliasing, and recursion weirdness.
in thread Scalar refs, aliasing, and recursion weirdness.

Maybe you want
${ $_[ 0 ] } = " ( $boo ) ";
or

if( length ${ $_[ 0 ] } > 2) { my ($pre, $mid, $post) = /^(.)(.*)(.)$/; recurse( $mid ); ${ $_[ 0 ] } = "$pre ( $mid ) $post"; }

Just guessing, cause you didn't specify what output you want.