#!/usr/bin/perl use warnings; use strict; package Bag { sub new { my $classname = shift; my $self = {fruits => ["apple", "strawberry"]}; return bless($self, $classname); } sub pushOnRef { # Geht das nicht besser? my $self = shift; my $ref = shift; my $val = shift; my @temp = @{$ref}; push(@temp, $val); $ref = \@temp; return $ref; } sub addFruit { my $self = shift; my $fruit = shift; $self->{fruits} = $self->pushOnRef($self->{fruits}, $fruit); } sub show { my $self = shift; my @f = @{ $self->{fruits} }; print "\n"; for my $i (@f) { print "$i\n"; } print "\n"; } } my $bag = Bag->new(); $bag->addFruit("banana"); $bag->show();