Что означает @$и $$ в Perl?
ОК, так что два вопроса о нечетном синтаксисе. Я работаю над старым кодом Perl, который нуждается в модификации, и я наткнулся на следующую строку:
@$tmp=split(/,/,$tmpVals);
Я понятия не имею, как это прочитать, похоже, что RHS разделяет переменную строку на, так что отлично, но это левая сторона, которую меня бросает. Что в мире @$
, насколько я знаю, это не переменная по умолчанию. Кто-нибудь знает его значение?
И тогда есть $$
, который я прочитал, как правило, представляет PID Perl. Однако в этом случае это происходит прямо перед утверждением/присваиванием. Имеет ли это эффект?
$$tmp=$row[1];
Спасибо заранее.
Ответы
Ответ 1
То, что вы смотрите, это не специальные переменные perl, а примеры ссылок. Они описаны в perlref.
Это символические ссылки: Если $tmp
содержит "myvar", то переменной @myvar
будет присвоено значение. То же самое относится ко второму примеру.