Зачем вам нужен $ при доступе к элементам массива и хеша в Perl?
Поскольку массивы и хэши могут содержать только скаляры в Perl, почему вы должны использовать $, чтобы сообщить интерпретатору, что значение является скаляром при доступе к элементам массива или хеша? Другими словами, если у вас есть массив@myarray
и хэш%myhash
зачем вам нужно делать:
$x = $myarray[1];
$y = $myhash{'foo'};
вместо того, чтобы просто делать:
$x = myarray[1];
$y = myhash{'foo'};
Почему вышесказанное неоднозначно?
Wouldn»Разве это не будет нелегальным кодом Perl, если в этом месте он будет отличным от $? Например, радуетt все следующие нелегалы в Perl?
@var[0];
@var{'key'};
%var[0];
%var{'key'};