1:35 >perl -E "say for sort keys %Internals::" SvREADONLY SvREFCNT V hv_clear_placeholders 1:35 > #### #! perl use strict; use warnings; use Internals qw(SetReadWrite); for (qw(literal1 literal2 literal3)) { print "$_\n"; foo('wilma'); } sub foo { SetReadWrite(\$_); $_ = 'fred'; goto &bar; } sub bar { my ($name) = @_; print "foo --> name = $name, \$_ = $_\n"; } #### 12:26 >perl 723_SoPW.pl literal1 Modification of a read-only value attempted at 723_SoPW.pl line 15. 12:28 > #### #! perl use strict; use warnings; use Internals qw(IsWriteProtected); for (qw(literal1 literal2 literal3)) { print "$_\n"; foo('wilma'); } sub foo { if (IsWriteProtected(\$_)) { warn "Can't modify \$_"; } else { $_ = 'fred'; } goto &bar; } sub bar { my ($name) = @_; print "foo --> name = $name, \$_ = $_\n"; } #### 12:28 >perl 723_SoPW.pl literal1 Modification of a read-only value attempted at 723_SoPW.pl line 20. 12:36 >