[Roma.pm] Mica finisce qui... (our vs. use vars)
Aldo Calpini
dada at perl.it
Tue Aug 7 03:53:55 PDT 2007
Emanuele Zeppieri wrote:
> Beh, se quello di prima era un abbaglio, questa è un'insolazione :-)
> Le variabili our lo scope ce l'hanno *eccome*.
>
ehhhhhhh vabbe'. in effetti mischiavo (un po' ad arte) la visibilità con
l'esistenza. d'accordo che le variabili our vanno dichiarate con strict
e hanno *visibilità* limitata al loro scope, ma continuano ad *esistere*
anche al di fuori. mi riferisco a:
use strict;
{
our $x = 42;
}
print $main::x; # ==> 42
mi rendo conto che è perfettamente legale, coerente, blah blah blah, ed
è proprio per questo che esiste our. ma a me, comunque, sta cosa mi
sembra innaturale.
>> - sbrodolano la loro visibilità su altri package definiti nello stesso file
>>
>
> Manco pe' gnente: nel tuo esempio sei sempre nello stesso *identico*
> package (main), ed hai semplicemente riassegnato un diverso valore alla
> *stessa identica* variabile di package, come già detto.
>
eh, qui mi riferivo non agli snippet del mio post, ma a quello che
avevamo provato sul Mac-a-bestia di panet, ossia:
use strict;
package Foo;
our $x = 42;
package main;
print $x; # ==> sbrodola 42
mi scuso se ho tentato - invano, grazie ad Emanuele - di seminare un po'
di FUD ma... l'ho già detto che a me our mi sta sulle palle? :-)
cheers,
Aldo
More information about the Roma
mailing list