From b5ebbd35aaa76c78e1c459037c7eae45954d508b Mon Sep 17 00:00:00 2001 From: Vincent Pit Date: Tue, 10 Nov 2009 22:29:07 +0100 Subject: [PATCH] Add EXISTS and DELETE methods to Env.pm --- lib/Env.pm | 25 ++++++++++++++++++++++--- 1 file changed, 22 insertions(+), 3 deletions(-) diff --git a/lib/Env.pm b/lib/Env.pm index eb9187f..deac5fc 100644 --- a/lib/Env.pm +++ b/lib/Env.pm @@ -1,6 +1,6 @@ package Env; -our $VERSION = '1.00'; +our $VERSION = '1.01'; =head1 NAME @@ -132,8 +132,7 @@ sub TIEARRAY { sub FETCHSIZE { my ($self) = @_; - my @temp = split($sep, $ENV{$$self}); - return scalar(@temp); + return 1 + scalar(() = $ENV{$$self} =~ /\Q$sep\E/g); } sub STORESIZE { @@ -161,6 +160,19 @@ sub STORE { return $value; } +sub EXISTS { + my ($self, $index) = @_; + return $index < $self->FETCHSIZE; +} + +sub DELETE { + my ($self, $index) = @_; + my @temp = split($sep, $ENV{$$self}); + my $value = splice(@temp, $index, 1, ()); + $ENV{$$self} = join($sep, @temp); + return $value; +} + sub PUSH { my $self = shift; my @temp = split($sep, $ENV{$$self}); @@ -232,4 +244,11 @@ sub FETCH { return $ENV{$$self . ';' . $index}; } +sub EXISTS { + my ($self, $index) = @_; + return $index < $self->FETCHSIZE; +} + +sub DELETE { } + 1; -- 2.7.4