Warum benötigen Sie $, wenn Sie in Perl auf Array- und Hash-Elemente zugreifen?
Da Arrays und Hashes in Perl nur Skalare enthalten können, warum müssen Sie mit dem $ dem Interpreter mitteilen, dass der Wert ein Skalar ist, wenn Sie auf Array- oder Hash-Elemente zugreifen? Mit anderen Worten, vorausgesetzt, Sie haben ein Array@myarray
und ein Hasch%myhash
, warum musst du tun:
$x = $myarray[1];
$y = $myhash{'foo'};
anstatt nur zu tun:
$x = myarray[1];
$y = myhash{'foo'};
Warum sind die oben genannten nicht eindeutig?
Wäre es nicht illegaler Perl-Code, wenn es an dieser Stelle alles andere als ein Dollar wäre? Sind zum Beispiel nicht alle der folgenden in Perl illegal?
@var[0];
@var{'key'};
%var[0];
%var{'key'};