#! perl -slw use strict; sub recurse { print ">> '${ $_[ 0 ] }'"; if( length ${ $_[ 0 ] } ) { #recurse( \ substr( ${ $_[ 0 ] }, 1, -1 ) ); #old recurse( \( my $boo = substr( ${ $_[ 0 ] }, 1, -1 ) ) ); #new ${ $_[ 0 ] } = " ( ${ $_[ 0 ] } ) "; } print "<< '${ $_[ 0 ] }'"; return; } my $str = 'aaaaaaaaaa'; recurse \$str; print $str;