Beefy Boxes and Bandwidth Generously Provided by pair Networks
P is for Practical
 
PerlMonks  

Re^2: Modification of a read-only value attempted

by mbethke (Hermit)
on Nov 27, 2012 at 17:03 UTC ( #1005889=note: print w/ replies, xml ) Need Help??


in reply to Re: Modification of a read-only value attempted
in thread Modification of a read-only value attempted

You will notice when you try to write to the constant, which I suppose is the point of it :) That said, I do prefer Readonly as well because it allows for completely normal-looking "non-variables". Having to remember to dereference anything that's supposed to be a constant doesn't make sense except as an idiosyncrasy of the language. What's more, Readonly also lets you write-protect hashes and arrays although at a performance cost.


Comment on Re^2: Modification of a read-only value attempted
Re^3: Modification of a read-only value attempted
by BillKSmith (Chaplain) on Nov 27, 2012 at 20:50 UTC

    This discussion reminds me of a related question. When a Readonly hash or array contains references, are the targets of those references protected? As a common example, are the elements of Readonly matrix protected?

    Bill

      Easy to test:

      >perl -wMstrict -MData::Dump -le "use Readonly; ;; Readonly my %h => (a => {b => {c => {d => 1}}}); dd \%h; ;; $h{a}{b}{d} = 2; " { # tied Readonly::Hash a => { # tied Readonly::Hash b => { # tied Readonly::Hash c => { # tied Readonly::Hash d => 1, }, }, }, } Modification of a read-only value attempted at -e line 1

      See also DESCRIPTION section of Readonly.

Log In?
Username:
Password:

What's my password?
Create A New User
Node Status?
node history
Node Type: note [id://1005889]
help
Chatterbox?
and the web crawler heard nothing...

How do I use this? | Other CB clients
Other Users?
Others examining the Monastery: (12)
As of 2014-09-30 13:50 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    How do you remember the number of days in each month?











    Results (371 votes), past polls