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'};

Antworten auf die Frage(9)

Ihre Antwort auf die Frage