zurückInhaltvorwärts Perl Einführung: Subroutinen: Parameterübergabe

11.2 Subroutinen: Parameterübergabe

Unterroutinen werden erst mit Paramterübergaben interessant. Parameter werden wie folgt übergeben:

&Name_der_Unterroutine(Parameter_1, Parameter_2, usw.);

Wie greift nun die Unterroutine auf die Parameter zu? Die Parameter werden der Routine innerhalb eines speziellen Arrays übergeben, der den schönen namen @_ hat. Das erste Element dieses Arrays ist der erste Parameter also @_[0], das zweite Element der zweite Parameter also @_[1] usw.

Falls Du nicht mehr weißt, was ein Array ist, schaue Dir nocheinmal das Kapitel 3.3 an.

Hier ein Beispiel:

# Hauptroutine

print "Geben Sie Ihren Namen ein: ";
$name=<STDIN>;
&hallo($name);

# Unterroutinen

sub hallo {
  print "Hallo @_[0], ich heiße Henning";
}

Das Skript fragt nach Deinem Namen und und ruft die Unterroutine hallo mit der Variablen $name auf. Dies geschieht mit &hallo($name). Der Inhalt der Variablen $name wird in das Array @_ kopiert, auf das die Subroutine zugreift (@_ hat also hier nur ein Element). Der Name wird dann innerhalb der print Anweisung in der Unterroutine als @_[0] ausgegeben.

Perl Einführung: Subroutinen: Parameterübergabe zurückInhaltvorwärts