2013-04-06 2 views
5

я изучал Perl, и я наткнулся на кусок кода ниже:

print $$q, "\n" 

Существует $q переменная, которую мы не знаем точно, что это такое. Однако мы знаем, что когда мы запускаем этот код, он печатает "world".

Итак, что может $q be? Что означает $$q?

ответ

5

В вашем случае $q является сканирующим справочником . Итак, $$q дает скаляр, указанный по ссылке $q. Простой пример:

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

$q представляет собой ссылку, и вы пытаетесь разыменования его в скалярном контексте.

Для получения дополнительной информации посетите perlref documentation.

Смежные вопросы