defined %hash scalar keys %hash defined @array scalar @array exists $array[$elt] defined $array[$elt] (and/or) 0 <= $elt && $elt < @array delete $array[$elt] undef $array[$elt] (or) splice( @array, $elt, 1 ) #### sub all_between { my ($min, $max ) = @_; if ( $min > $max ) { return; } my @array = (); my $i = $min + 1; while ($i < $max) { push @array, $i++; } return @array; } my @ar1 = all_between( 4, 10 ); # Gives (5,6,7,8,9) my @ar2 = all_between( 4, 5 ); # Gives () my @ar3 = all_between( 4, 3 ); # Gives undef print "\@ar1 is defined\n" if defined @ar1; print "\@ar2 is defined\n" if defined @ar2; print "\@ar3 is defined\n" if defined @ar3; #### @ar1 is defined