my $number=70 # I am just using 70 as an example my $element=[ $justanumber, # Just a number \%values, # This is hash previously populated ['',undef,[]], [], ]; $array[$number]=$element; #### sub asubroutine { $my number=shift ; # $number takes the value of 20 if ( not defined ($array[$number])) { print "There is no such element $number in the array.\n"; return; } my $x=$array[$number]; if (@{$x->[3]}>0) { # Do something } } #### if (@{$x->[3]}>0) { #### sub asubroutine { $my number=shift ; # $number takes the value of 20 if ( not defined ($array[$number])) { print "There is no such element $number in the array.\n"; return; } my $x=$array[$number]; if (defined $x->[1]) { if (@{$x->[3]}>0) { # Do something } } } #### $array[$number] = undef, #### delete $array[$number]; #### splice (@array,$number,1); #wipes out that element completely #### splice(@tables,$number,0,undef); #inserts a new undefined value in the same element number