#!/usr/bin/perl use strict; use warnings; use Error qw(:try); use Data::Dumper; my $main = bless{}, 'main'; my $names = [qw(Tine Horst Fritz)]; try{ $main->setNames($names)->addName('Rolf')->addName('Tobias')->revNames(); print "Names: @$names\n"; } catch Error::Simple with{ my $E = shift; print Dumper $E; }; exit 0; ########################################################################### sub revNames{ my $self = shift; my $r = shift; @{$self->{NAMES}} = reverse @{$self->{NAMES}}; } sub addName{ my $self = shift; my $name = shift or throw Error::Simple("Kein Name übergeben!"); push @{$self->{NAMES}}, $name; return $self; } sub setNames{ my $self = shift; my $r = shift; throw Error::Simple("Kein Array ...") unless ref $r eq 'ARRAY'; $self->{NAMES} = $r; return $self; }