#!/usr/bin/perl -wTl # OOP Perl Stack example # 20021004, altblue@n0i.net ###################################### package N0i::Stack; use strict; sub new { my $this = shift; my $class = ref($this) || $this; my $self = {}; bless $self, $class; $self->{STACK} = \@_; return $self; } sub push { my $self = shift; push @{$self->{STACK}}, @_; } sub pop { my $self = shift; pop @{$self->{STACK}}; } sub size { my $self = shift; return scalar(@{$self->{STACK}}); } sub empty { my $self = shift; $self->{STACK} = []; } package main; use strict; use Data::Dumper; my $stack = new N0i::Stack 2 .. 4; print $stack->size; $stack->push(6), print $stack->size; $stack->pop, print $stack->size; $stack->empty, print $stack->size;