Hallo,
sub max {
my $max = shift(@_);
foreach $foo (@_) {
$max = $foo if $max < $foo;
}
return $max;
}Ganz einfach, zuerst wird die Variable $max deklariert und ihr der erste der Sub übergebene Parameter zugewiesen. Dann werden alle übergebenen Parameter durchlaufen und mit $max verglichen. Trifft die Bedingung innerhalb der foreach-Schleife zu, wird $max statt des alten der neue Wert zugewiesen. Der Vergleich läuft dann mit dem neuen Wert von $max weiter.
Was bedeutet return $max?
"Gib den Wert von $max nach vollständigem Durchlauf der Sub max() zurück."
das heisst in etwa return $max wäre dasselbe wie return 1; ?
also:
sub max {
my $max = shift(@_);
foreach $foo (@_) {
$max = $foo if $max < $foo;
return 0;
}
return 1;
}
.............?
Grüsse vom
Alain