in reply to Re^7: Shouldn't references be readonly? (updated)
in thread Shouldn't LITERAL references be readonly? (updated)

> I understand it :-)

I wished I could up-vote you multiple times. :)

> but sub bar () { [] } returns a new anonymous array each time.

Interesting ... here a workaround

DB<99> my $a =[]; sub bar () { $a } DB<100> sub tst { print bar,bar} DB<101> tst ARRAY(0x3365bc0)ARRAY(0x3365bc0)

But sorry when I insist, the following case should be an error, because the aliased literal array will be destroyed afterwards, which sense does it make to alter it?

map { $_++ } []

I wouldn't mind map { $_+1 } [] tho.

> But something like map { $_++ } \undef not failing doesn't entirely make sense to me yet

agreed, I think it's simply not covered.

> As an aside, I was playing around in the console a bit and can't yet wrap my head around this,

... is pretty clear to me. I also have an answer for you ;-p

The first post -increment returns the original value before incrementing.

The second pre -increment returns the result, which is the numification of the reference +1

DB<105> p []+1 53924433

Cheers Rolf
(addicted to the Perl Programming Language :)
Wikisyntax for the Monastery