3.7. Solution

Example 3-6. examples/files/statistics.p6

#!/usr/bin/perl6

my $filename = "numbers.txt";

my $total;
my $count;
my $min;
my $max;

if (my $fh = open $filename, :r) {
    for $fh.readline -> $line {
        if (not $count) {
            $min = $max = $line;
        }
        $total += $line;
        if ($min > $line) {
            $min = $line;
        }
        if ($max < $line) {
            $max = $line;
        }
        $count++;
    }
    my $average = $total / $count;
    say "Total: $total, Count: $count Average: $average Min: $min Max: $max\n";
} else {
    say "Could not open '$filename'";
}

# There is a minor issue in this solution, what if there are no values at all in the file?