Sounds like a bug to me as I get an error message here
sub subname {
local *_=\$_[0];
s///;
}
subname("String");
Modification of a read-only value attempted at - line 3.
This error should occurs because you're 'aliasing' $_ to $_[0], which essentially equates to both pointing to the same scalar value e.g
sub {
print "\$_[0]: ",\$_[0], $/;
local *_= \$_[0];
print "\$_: ",*main::_{SCALAR}, $/;
s///;
}->("foo");
__output__
$_[0]: SCALAR(0x8107ec8)
$_: SCALAR(0x8107ec8)
Modification of a read-only value attempted at - line 5.
HTH
_________ broquaint |