summaryrefslogtreecommitdiff
path: root/t/op/local.t
diff options
context:
space:
mode:
authorRafael Garcia-Suarez <rgarciasuarez@gmail.com>2003-08-04 20:26:17 +0000
committerRafael Garcia-Suarez <rgarciasuarez@gmail.com>2003-08-04 20:26:17 +0000
commit33f3c7b8444b48791ad016570a41a23483d750d2 (patch)
tree91c26caacb3caa2aa9093ddfb3bd3a4e76e4d62e /t/op/local.t
parentf913803b6e67ae4c588683bcf7820e5997343335 (diff)
downloadperl-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-xt/op/local.t16
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";