in reply to check array reference empty
Please Ignore: I realized after adding a note that this skips empty values, essentially all but answering the OP's question.
One easy way would be to use Data::Dumper
#!/usr/bin/perl use strict; use warnings; use diagnostics; use Data::Dumper; my @arr1 = (1,2,3,4); my @arr2 = (); my $arr_ref1 = [11,22,33,44]; my $arr_ref2 = []; # The last scalar ($VAR8 when printed) does not exist so will return ' +undef' print Dumper( @arr1, @arr2, $arr_ref1, $arr_ref2, $$arr_ref1[0], $$arr_ref2[1] ); __END__ # RETURNS $VAR1 = 1; $VAR2 = 2; $VAR3 = 3; $VAR4 = 4; $VAR5 = [ 11, 22, 33, 44 ]; $VAR6 = []; $VAR7 = 11; $VAR8 = undef;
Note that @arr2 has been skipped but $arr_ref2 has not. Remember that while the first has not been assigned a value the second has: It just so happens to be an empty array.
|
|---|