package IteratorCollection; use strict; use Iterator; sub new { my $class = shift; my $self = {}; $self->{maxsize} = 500000; $self->{total} = 0; $self->{collection} = []; bless $self, $class; } sub addItem { my $self = shift; my $item = shift; if ($self->{total} < $self->{maxsize}) { $self->{collection}->[$self->{total}] = $item; $self->{total}++; } } sub createIterator { my $self = shift; return Iterator->new($self); } 1;