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.

Replies are listed 'Best First'.
Re^4: Scalar refs, aliasing, and recursion weirdness.
by BrowserUk (Pope) on Feb 04, 2005 at 23:23 UTC

    I've updated the OP to clarify my expectations.

    The whole point is to modify the referent in-place. The selection for the substring reference used by the recursion is far more complicated in the real situation.

    The point of my question is not really "How to get this output", but more "Why do changes that get made during recursion get unwound, when the entity being modified is (relatively speaking) static."


    Examine what is said, not who speaks.
    Silence betokens consent.
    Love the truth but pardon error.