2013-04-06 16 views
5

Stavo studiando Perl, e mi sono imbattuto nel codice del pezzo di seguito:

print $$q, "\n" 

c'è una variabile $q che non sappiamo esattamente di cosa si tratta. Tuttavia, sappiamo che quando eseguiamo questo codice, viene stampato "world".

Quindi, cosa può essere $q? Cosa significa "$$q"?

risposta

5

Nel tuo caso $q è un riferimento scalare . Quindi $$q ti dà uno scalare puntato per riferimento $q. Esempio semplice:

$a = \"world"; #Put reference to scalar with string "world" into $a 
print $$a."\n"; #Print scalar pointed by $a 
2
$$q == ${$q} 

$q rappresenta un riferimento, e si sta tentando di dereferenziarlo in un contesto scalare.

Per ulteriori informazioni, visitare il perlref documentation.