package Stack; use strict; sub new { my $class = shift; my $self = {}; $self->{stack} = []; $self->{top} = -1; bless $self, $class; } sub push { my $self = shift; my $i = shift; if ($self->{top} < 1000 - 1) { $self->{stack}->[++$self->{top}] = $i; } } sub pop { my $self = shift; if ($self->{top} != -1) { return $self->{stack}->[$self->{top}--]; } return -99999; } 1;