Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

Implicit deklarering?

0 views
Skip to first unread message

Morten P

unread,
Aug 18, 2009, 6:09:43 PM8/18/09
to
test.pl:

use strict;
use warnings;

my $x = undef;
my $y = $x->{'z'};
print ref($x) ."\n";

Output: HASH

Hvorfor kan jeg f� lov til at anvende en udefineret variabel som var det en
hashref?

Hvorfor bliver det til en hashref derefter?


Peter Makholm

unread,
Aug 19, 2009, 12:18:50 AM8/19/09
to
"Morten P" <sp...@spam.spam> writes:

> Hvorfor kan jeg fᅵ lov til at anvende en udefineret variabel som var det en
> hashref?

Du skal skelne imellem om variablem er deklareret (my, static, our,
local) eller om den har vᅵrdien 'undef'. Det du oplever hedder
autovivification og er dokumenteret i perlref manualsiden.

Pᅵ CPAN er der et pragman-modul, der lader dig styre hvornᅵr hashrefs
og arrayrefs bliver autovivificeret. Det modul indeholder ogsᅵ en
lᅵngere forklaring:

http://search.cpan.org/perldoc?autovivification

//Makholm

Peter Makholm

unread,
Aug 19, 2009, 1:37:53 AM8/19/09
to
Peter Makholm <pe...@makholm.net> writes:

> Pᅵ CPAN er der et pragman-modul, der lader dig styre hvornᅵr hashrefs
> og arrayrefs bliver autovivificeret. Det modul indeholder ogsᅵ en
> lᅵngere forklaring:

Der skulle sᅵ have stᅵet pragma-modul.

//Makholm

Morten P

unread,
Aug 19, 2009, 1:01:06 PM8/19/09
to

"Peter Makholm" <pe...@makholm.net> wrote in message
news:873a7ov...@vps1.hacking.dk...
> "Morten P" <sp...@spam.spam> writes:
>
>> Hvorfor kan jeg f� lov til at anvende en udefineret variabel som var det
>> en
>> hashref?
>
> Du skal skelne imellem om variablem er deklareret (my, static, our,
> local) eller om den har v�rdien 'undef'. Det du oplever hedder

> autovivification og er dokumenteret i perlref manualsiden.
>
> P� CPAN er der et pragman-modul, der lader dig styre hvorn�r hashrefs
> og arrayrefs bliver autovivificeret. Det modul indeholder ogs� en
> l�ngere forklaring:
>
> http://search.cpan.org/perldoc?autovivification


Ahhaaaa!
Tak :-)
S� fik jeg ogs� det p� plads!


0 new messages