Alain: ist "return" bei subs pflicht?

Beitrag lesen

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