2013-04-06 18 views
5

studiowałem Perl, i natknąłem się na kawałek kodu poniżej:

print $$q, "\n" 

Jest $q zmienna, że ​​nie wiemy dokładnie co to jest. Wiemy jednak, że po uruchomieniu tego kodu drukuje on "world".

Co może być $q? Co oznacza $$q?

Odpowiedz

5

W twoim przypadku $q jest numerem referencyjnym skalarnym . Tak więc $$q daje skalar wskazany przez odniesienie $q. Prosty przykład:

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

$q stanowi odniesienie i próbujesz dereference nim w kontekście skalarnym.

Aby uzyskać więcej informacji, odwiedź stronę .