[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