diff options
author | Rafael Garcia-Suarez <rgarciasuarez@gmail.com> | 2003-08-04 20:26:17 +0000 |
---|---|---|
committer | Rafael Garcia-Suarez <rgarciasuarez@gmail.com> | 2003-08-04 20:26:17 +0000 |
commit | 33f3c7b8444b48791ad016570a41a23483d750d2 (patch) | |
tree | 91c26caacb3caa2aa9093ddfb3bd3a4e76e4d62e /t/op/local.t | |
parent | f913803b6e67ae4c588683bcf7820e5997343335 (diff) | |
download | perl-33f3c7b8444b48791ad016570a41a23483d750d2.tar.gz |
Fix bug #23141 : localization of readonly magic scalars
now produces an error "Modification of a read-only value
attempted", instead of silently failing.
p4raw-id: //depot/perl@20479
Diffstat (limited to 't/op/local.t')
-rwxr-xr-x | t/op/local.t | 16 |
1 files changed, 15 insertions, 1 deletions
diff --git a/t/op/local.t b/t/op/local.t index 1bb8b8ac1b..5a5b7ee552 100755 --- a/t/op/local.t +++ b/t/op/local.t @@ -1,6 +1,6 @@ #!./perl -print "1..75\n"; +print "1..78\n"; sub foo { local($a, $b) = @_; @@ -257,3 +257,17 @@ print "not " if exists $h{'y'}; print "ok 72\n"; print "not " if exists $h{'z'}; print "ok 73\n"; print "not " if exists $ENV{_A_}; print "ok 74\n"; print "not " if exists $ENV{_B_}; print "ok 75\n"; + +# local() and readonly magic variables + +eval { local $1 = 1 }; +print "not " if $@ !~ /Modification of a read-only value attempted/; +print "ok 76\n"; + +eval { for ($1) { local $_ = 1 } }; +print "not " if $@ !~ /Modification of a read-only value attempted/; +print "ok 77\n"; + +eval { for ($1) { local $_ = 1 } }; +print "not " if $@; +print "ok 78\n"; |