This how-to comes with no guaratees other than the fact that these code segments were copy/pasted from code that I wrote and ran successfully.
Solution
my @array = ();
Solution
$#array is the subscript of the last element of the array (which is one less than the length of the array, since arrays start from zero). Assigning to $#array changes the length of the array @array, hence you can destroy (or clear) all values of the array between the last element and the newly assigned position. By assigning -1, everything is destroyed and the array is cleared. I recommend the above solution to this one.
$#array = -1;
Solution
print "Value EXISTS, but may be undefined.\n" if exists $array[ $index ]; print "Value is DEFINED, but may be false.\n" if defined $array[ $index ]; print "Value at array index $index is TRUE.\n" if $array[ $index ];
Solution
If you just want to print the size, this is the simplest way.
print "size of array: " . @array . ".\n";
Solution
If you want to retain the size in a variable, just evaluate the array in implicit scalar context.
$size = @array; print "size of array: $size.\n";
Explicit scalar context can be achieved by using the function scalar.
$size = scalar @array; print "size of array: $size.\n";
Since the results are the same, I recommend the implicit solution.
Solution
There are also a number of other methods of getting the array size.
$size = $#array + 1;
Alex BATKO <abatko AT cs.mcgill.ca>
Thanks to all those who have written with suggestions and comments.
Hi! If this document helped you figure out something you were stuck on; if it saved you time; if it relieved some frustration or anxiety... please consider donating. Thank you kindly!
Perhaps you are looking for web hosting? Hands down, the best web host I have ever experienced is DreamHost: http://www.dreamhost.com/r.cgi?177526 They offer everything unlimited: storage, bandwidth, domains, subdomains, email accounts, MySQL databases. As well, they permit full shell access on Debian GNU/Linux. And they are employee owned and operated since 1997. Oh, and their web control panel is amazing! Use the URL above and the following promo code to save up to $47: ABATZPH5050
http://www.cs.mcgill.ca/~abatko/computers/programming/perl/howto/
http://alex.exitloop.ca/abatko/computers/programming/perl/howto/