Hallo,
ich versuche mir gerade die Programmiersprache Perl anzueignen und gehe zur Zeit ein paar Übungsbeispiele durch.
Ich möchte mit Hilfe einer Subroutine alle Werte einer Liste herausfiltern die größer als der Durchschnitt sind.
Im Moment sieht die Routine so aus.
sub ueber_durchschnitt {
$summe =0;
@ergebnis = ();
foreach my $zahl (@_) {
$summe += $zahl;
}
$laenge = $#_ +1;
$durch = $summe / $laenge;
print "Durchschnitt $durch \n";
foreach $vergl (@_) {
if ($vergl > $durch) {
push @ergebnis,$vergl;
}
}
return @ergebnis;
}
Wenn ich jetzt eine Liste z.b @test=(1..10) benutze erfolgt das richtige Ergebnis.
Bei einer Liste @test=(100 , 1..10) oder wenn ich die Subroutine mit &ueber_durschnitt (100, 1..10) aufrufe, erhalte ich als Ergebnis 1.
Hat von euch vllt jemand ne Ahnung was ich verbessern könnte?
Viele Grüße,
Heinz