#!/usr/bin/perl use strict; sub print_noten { my $modus = $_[0]; my $noten_ref = $_[1]; my $i = 0; my $schriftl = 0; my $mundl = 0; my $anz_sa = 0 if $modus == 7; $anz_sa = 1.0 if $modus == 1; $anz_sa = 2.0 if $modus == 0; foreach(@$noten_ref) { $i++; if(($modus != 7) && ($i==1 || ($i==2 && !$modus ))) # Schulaufgaben { $schriftl = $schriftl + $_; } else { $mundl = $mundl + $_; } } if ($anz_sa) { $schriftl = $schriftl / $anz_sa; $mundl = $mundl / ($i - $anz_sa); my $ges = ($schriftl + $mundl) / 2.0; print "Schriftlich: $schriftl ; Mündlich: $mundl ; Gesamt: $ges \n"; } else { $mundl = $mundl / ($i*1.0); print "Gesamt: $mundl \n"; } } my $modus = 0; my $usage = "usage: noten [-h|Z|7]"; if ($ARGV[0]) { if ($ARGV[0] eq "-h") { print "$usage\n"; exit 0; } elsif ($ARGV[0] == 7) { print "7.Klass-Modus\n"; $modus = 7; } else { die "$usage\n" unless ($ARGV[0] eq "Z"); print "Zwischenzeugnis\n"; $modus = 1; } } else { print "Jahreszeugnis\n"; } while() { my $line = $_; my @noten = split(/,/, $line); # prüfe, ob ein Notendurchlauf gemacht werden soll if ($noten[$#noten] == 0) { for (my $i = 1; $i < 7; $i++) { $noten[$#noten] = $i; print "Variable Note: $i:\n"; print_noten($modus, \@noten); } } else { print_noten($modus, \@noten); } }