Re: [PATCH] Updating perltie.pod for arrays
Casey R. Tweten [Tue, 28 Nov 2000 12:11:41 +0000 (07:11 -0500)]
Date: Tue, 28 Nov 2000 12:11:41 -0500 (EST)
Message-ID: <Pine.OSF.4.21.0011281209050.25178-100000@home.kiski.net>

Subject: Re: [PATCH] Updating perltie.pod for arrays
From: "Casey R. Tweten" <crt@kiski.net>
Date: Tue, 28 Nov 2000 15:03:50 -0500 (EST)
Message-ID: <Pine.OSF.4.21.0011281458500.10331-100000@home.kiski.net>

p4raw-id: //depot/perl@7907

pod/perltie.pod

index 8b3f679..1f77f55 100644 (file)
@@ -311,15 +311,19 @@ deleted.
 In our example, 'undef' is really an element containing
 C<$self-E<gt>{ELEMSIZE}> number of spaces.  Observe:
 
-sub STORESIZE {
-  my $self  = shift;
-  my $count = shift;
-  if ( $count > $self->FETCHSIZE() ) {
-    $self->STORE( $_, '' ) foreach $count - $self->FETCHSIZE() + 1 .. $count;
-  } elsif ( $count < $self->FETCHSIZE() ) {
-    $self->POP() foreach 0 .. $self->FETCHSIZE() - $count + 1;
-  }
-}
+    sub STORESIZE {
+      my $self  = shift;
+      my $count = shift;
+      if ( $count > $self->FETCHSIZE() ) {
+        foreach ( $count - $self->FETCHSIZE() .. $count ) {
+          $self->STORE( $_, '' );
+        }
+      } elsif ( $count < $self->FETCHSIZE() ) {
+        foreach ( 0 .. $self->FETCHSIZE() - $count - 2 ) {
+          $self->POP();
+        }
+      }
+    }
 
 =item EXTEND this, count
 
@@ -346,7 +350,9 @@ C<$self-E<gt>{ELEMSIZE}> spaces only, it does not exist:
     sub EXISTS {
       my $self  = shift;
       my $index = shift;
-      return $self->{ARRAY}->[$index] eq ' ' x $self->{ELEMSIZE} ? 0 : 1;
+      return 0 if ! defined $self->{ARRAY}->[$index] ||
+                  $self->{ARRAY}->[$index] eq ' ' x $self->{ELEMSIZE};
+      return 1;
     }
 
 =item DELETE this, key