develooper Front page | perl.perl5.porters | Postings from January 2012

Re: [perl #107528] Autovivification should be ignored when testingfor existence

Thread Previous | Thread Next
From:
demerphq
Date:
January 7, 2012 05:55
Subject:
Re: [perl #107528] Autovivification should be ignored when testingfor existence
Message ID:
CANgJU+URHJVrwQ1e6J-J2evN+PFhgkYw56WMqrZwbjMTti_Amw@mail.gmail.com
On 6 January 2012 20:31, Father Chrysostomos via RT
<perlbug-followup@perl.org> wrote:
> On Fri Jan 06 08:53:00 2012, demerphq wrote:
>> I consider this module to be in the same category as Scalar::Util and
>> as such I personally feel it should be in the core.
>
> I think it would be better to make it part of the core itself, resulting
> in a far simpler implementation.  It could be enable with ‘use v5.xx’,
> as someone suggested.

I am fine with that. In fact I generally prefer not to have to use a
module to get access to important language features.

> Then, we should probably consider whether it does everything correctly.
>  (I’m not saying it doesn’t; it just needs to be considered.)
>
> What is the *concept* behind not having exists $foo{bar}{baz} autovivify
> $foo{bar}?  After all, it’s not exists() that is doing the autovivification.
>
> We need to come up with a concept that works (e.g., autovivification is
> a type of lvalue context, so only an outer lvalue context, propagated
> down to the rv2hv in question, will cause it) before we do much else.
>
> Otherwise we run the risk of having a model that is not self-consistent,
> with buggy edge cases.

Agreed.

Yves


-- 
perl -Mre=debug -e "/just|another|perl|hacker/"

Thread Previous | Thread Next


nntp.perl.org: Perl Programming lists via nntp and http.
Comments to Ask Bjørn Hansen at ask@perl.org | Group listing | About