Dlaczego potrzebujesz $ przy dostępie do tablicy i elementów skrótu w Perlu?
Ponieważ tablice i skróty mogą zawierać tylko skalary w Perlu, dlaczego musisz użyć $, aby powiedzieć interpreterowi, że wartość jest skalarem podczas uzyskiwania dostępu do elementów tablicy lub skrótu? Innymi słowy, zakładając, że masz tablicę@myarray
i hash%myhash
, dlaczego musisz:
$x = $myarray[1];
$y = $myhash{'foo'};
zamiast robić:
$x = myarray[1];
$y = myhash{'foo'};
Dlaczego powyższe są niejednoznaczne?
Czy nie byłoby to nielegalnym kodem Perla, gdyby w tym miejscu było coś innego niż $? Na przykład, czy w Perlu nie wszystko jest nielegalne?
@var[0];
@var{'key'};
%var[0];
%var{'key'};