in reply to Re^3: Using undef scalar as arrayref
in thread Using undef scalar as arrayref

Actually the if is separate from the loop. If there are any elements in the arrayref a flag needs to be set for later that is separate from what is happening in the loop. So its something like this:
if ( $arrayref && @$arrayref ) { # set the flag } ... foreach my $element (@$arrayref) { # do stuff }
Of course i could set it in the loop, but then its being set multiple times.

I use the most powerful debugger available: print!