Hallo Alain.
"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; ?
Kommt auf den Sinn der Operation an. Wenn du 0 und 1 im booleschen Kontext siehst, könnte es so sein. Das soll heißen, wenn das Ergebnis der sub max() wahr oder falsch sein soll, wäre es das Selbe, wenn das Ergebnis jedoch ein Wert sein soll, dann nicht.
sub max {
my $max = shift(@_);
foreach $foo (@_) {
$max = $foo if $max < $foo;
return 0;
An dieser Stelle verlässt du die Sub bereits beim ersten Durchlauf der foreach-Schleife, die Sub dürfte also nie 1 zurückgeben. Du meinst es aber sicher eher so:
if($max<$foo) {
$max = $foo;
return 0;
}
In diesem Fall kommt es wie gesagt auf das von dir erwartete Ergebnis an.
Freundschaft!
Siechfred
Nichts ist schwerer einzureißen als die Mauer in den Köpfen.