… | |
… | |
37 | # readonly available (at least 5.8.9+, working better in 5.10.1+) |
37 | # readonly available (at least 5.8.9+, working better in 5.10.1+) |
38 | *wrap = sub { |
38 | *wrap = sub { |
39 | my $cb = shift; |
39 | my $cb = shift; |
40 | |
40 | |
41 | sub { |
41 | sub { |
|
|
42 | local $_; |
42 | Internals::SvREADONLY $_, 1; |
43 | Internals::SvREADONLY $_, 1; |
43 | &$cb; |
44 | &$cb; |
44 | Internals::SvREADONLY $_, 0; |
|
|
45 | } |
45 | } |
46 | }; |
46 | }; |
47 | } else { |
47 | } else { |
48 | # or not :/ |
48 | # or not :/ |
49 | my $magic = []; # a unique magic value |
49 | my $magic = []; # a unique magic value |