in reply to operation inside reference

just to add some code example to the excellent explanation by AnomalousMonk

DB<116> use warnings; $a=undef; print "< @{$a} >" Use of uninitialized value in array dereference at (eval 49)[multi_per +l5db.pl:644] line 2. < > DB<117> use warnings; $a=[]; print "< @{$a} >" < > DB<118> use warnings; $a=undef//[]; print "< @{$a} >" < > DB<120> use warnings; $a=[1..3]//[]; print "< @{$a} >" < 1 2 3 >

As you can see generating a list from an nonexistent or undef value causes a warning!

Defaulting to an empty array solves this issue.

Cheers Rolf

( addicted to the Perl Programming Language)