|
|
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
|