Warum kann die Syntax '& name arg1 arg2 ...' nicht dazu verwendet werden, eine Perl-Subroutine aufzurufen?

8

für eine Perl-Subroutine, wenn ich 0 Argumente übergebe, kann ich 4 Formulare verwenden, um sie aufzurufen. Aber wenn es ein oder mehrere Argumente gibt, gibt es ein Formular, das ich nicht verwenden kann, siehe unten:

%Vor%

Die Fehlerausgabe ist

%Vor%

Kann jemand die Fehlerausgabe aus der Sicht des Compilers erklären? Ich verstehe nicht, warum es sich über fehlenden Operator beschwert.

Danke

    
password636 21.09.2016, 07:37
quelle

1 Antwort

13

Es ist in perlsub dokumentiert:

  

So rufen Sie Subroutinen auf:

%Vor%

Mit &NAME "arg" , perl sieht &NAME() "ARG" , also denkt es, dass zwischen dem Unteraufruf und "ARG" ein Operator fehlt.

In Perl 5 benötigen Sie in den meisten Fällen nicht & .

    
Eine Unterroutine (z. B. eine Prozedur oder ein Unterprogramm) ist ein Teil des Codes innerhalb eines größeren Programms, der eine bestimmte Aufgabe ausführt und relativ unabhängig von dem verbleibenden Code sein kann. Die Syntax vieler Programmiersprachen umfasst die Unterstützung für das Erstellen eigenständiger Unterprogramme sowie für das Aufrufen und Zurückkehren von ihnen. Sie sind in vielerlei Hinsicht ähnlich wie Funktionen, haben aber normalerweise Nebenwirkungen außerhalb des einfachen "Rückgabewerts", der die Rückgabe bewirkt.
choroba 21.09.2016, 07:44
quelle

Tags und Links