Что означают @ $ и $$ в Perl? - PullRequest
11 голосов
/ 16 июня 2011

ОК, так что два вопроса о нечетном синтаксисе. Я работаю над более старым кодом Perl, который нуждается в модификации, и натолкнулся на следующую строку:

@$tmp=split(/,/,$tmpVals);

Я понятия не имею, как это читать, похоже, что RHS разбивает строку переменной, так что это нормально, но это левая сторона, по которой я брошен. Что в мире является @$, насколько я знаю, это не переменная по умолчанию. Кто-нибудь знает его значение?

А затем есть $$, который, как я прочитал, обычно представляет PID Perl. Тем не менее, в этом случае это происходит прямо перед проверкой / оператором присваивания. Есть ли у этого связанный эффект?

$$tmp=$row[1];

Заранее спасибо.

1 Ответ

15 голосов
/ 16 июня 2011

То, что вы смотрите, это не специальные переменные perl, а примеры ссылок.Они описаны в perlref .

Это символические ссылки: Если $tmp содержит "myvar", то переменной @myvar будет назначена переменная.То же относится и ко второму примеру.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...