$zahl   = '';  # eingegebene Zahl
@zahlen = ();  # Zahlen
%haeuf  = ();  # Zahl-Haeufigkeit
$count  = 0;   # Anzahl aller Zahlen
$sum    = 0;   # Summe
$mittel = 0;   # Durchschnitt
$min    = undef;   # Minimum
$max    = undef;   # Maximum
$space  = 0;       # Schluesselbreite

print "Geben Sie Ihre Zahlen ein:\n";

while ($zahl = <STDIN>) 
  {
  chomp ($zahl);
  if ($zahl =~ m/\d+/) # grober Test: ist es eine Zahl?
    {
    $zahlen[$count++] = $zahl;
    $haeuf{$zahl}++;
    $sum += $zahl;
    $min = $zahl if (($zahl < $min) || ($min == undef));
    $max = $zahl if (($zahl > $max) || ($max == undef));
    }
  }

$mittel = $sum / $count;

print "Anzahl Zahlen:    $count\n";
print "Summe der Zahlen: $sum\n";
print "Kleinste Zahl:    $min\n";
print "Groesste Zahl:    $max\n";
printf("Durchschnitt:     %.2f\n", $mittel);
print "\n";

print "Häufigkeit der einzelnen Zahlen:\n";

# Trick: Länge der gößten Zahl feststellen
$space = length ($max) + 1;

foreach $key (sort (keys %haeuf))
  {
  print $key;
  print ' ' x ($space - length $key);
  print ': ', '*' x $haeuf{$key}, "\n";
  }
