package TestObjects; ... my @objects; sub new{ my ($class) = @_; my $self = {id=>$#objects+1}; bless $self,$class; push @objects,$self; return $self; } sub first { 0 } sub last { $#objects } ... 1;