Excerpts from Yuri Shtil's message of Tue Aug 18 12:15:03 -0700 2009:
> Actually I realized I made a mistake in my question.
> I want to be able to make an attribute read only after changing it in 
> certain places of my code. The reason is that I want to control access 
> similar to private in C++;

Don't change it to readonly; make the writer private ('_set_foo').

  is => 'ro'

is just a shortcut for

  reader => $attribute_name

so you would do something like

  has foo => (is => 'ro', writer => '_set_foo');

An attribute is actually never 'readonly' in some inherent sense -- the methods
attached to it generates may allow writing, or may not, but there's no security
layer behind those methods stopping you from setting the slot value.

hdp.

Reply via email to