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

Ack, you're right about what you noticed about line 5. I goofed. You're also right about the defined test.

The only caveat i can think of is that if the $arrayref got set to an empty arrayref, i'd still not want to do the if conditional (in this situation). So i think the final will be:

if ( $arrayref && @$arrayref ) {
which will throw an exception if its not an arrayref.

I use the most powerful debugger available: print!

Replies are listed 'Best First'.
Re^3: Using undef scalar as arrayref
by Joost (Canon) on Aug 12, 2005 at 20:44 UTC
      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!