package liste; sub new { my $self={list=>[@_]}; bless($self); return $self; } sub next { my $self=shift(@_); my $l=$self->{list}; push(@$l,shift(@$l)); return $$l[0]; } sub before { my $self=shift(@_); my $l=$self->{list}; unshift(@$l,pop(@$l)); return $$l[0]; } sub now { my $self=shift(@_); return $$self->{list}[0]; } package main; my $list=liste::new(was, wie,wo,wann,wozu,wieso); for(0..6) { print $list->next(); print "\n"; }