#!/usr/bin/perl use warnings; use strict; package Person { sub new { my $classname = shift; my $args = {@_}; my $self = { name => $args->{name}, betreff => $args->{betreff}, konsumref => $args->{konsumref} }; return bless($self, $classname); } sub showKonsum { my $self = shift; my @konsum = @{$self->{konsumref}}; my $i; print "\n"; print $self->{betreff} . ":\n"; print "Konsum ist:\n"; for $i (@konsum) { print "$i\n"; } print "\n"; print "Summe Konsum: " . $self->getSum() . "\n"; print "Durschnittlich: " . $self->getAverageKonsum() . "\n\n"; } sub getSum { my $self = shift; my @konsum = @{$self->{konsumref}}; my $sum = 0; my $i; for $i (@konsum) { $sum += $i; } return $sum; } sub getAverageKonsum { my $self = shift; my @konsum = @{$self->{konsumref}}; my $konsumlen = @konsum; my $sum = $self->getSum(); return $sum / $konsumlen; } } my $A = Person->new(name => "Alfred", betreff => "Monatliche Sushibarbesuche im halben Jahr", konsumref => [4, 2, 5, 7, 5, 3]); $A->showKonsum();