* Steffen Schwigon <[EMAIL PROTECTED]> [2006-05-24 15:05]:
> "A. Pagaltzis" <[EMAIL PROTECTED]> writes:
> > Err I think you misread my mail. I meant that the code
> > modifies the hash, but does nothing to modify the reference,
> > so there is no need to make the reference read-write.
>
> In my understanding, the '->' makes an alias to the elements of
> the hash, which is different from being a reference. And the
> "is rw" modifies that alias (the loop element).
>
> You are right, in that the "is rw" shouldn't be needed because
> the loop element alias should be "rw" by default. Which in turn
> it isn't, because of the pugs bug.
You are still missing the point.
In Perl 5 terms:
use Readonly;
Readonly::Scalar my $hashref => {};
$hashref->{foo} = 1; # does not die
The read-only variable here is a reference to a hash. I can
freely modify the *hash*, regardless of whether the *reference*
to it is readonly or not.
Regards,
--
Aristotle Pagaltzis // <http://plasmasturm.org/>