> sub foo { return undef } > if (@bar = foo()) { ... } Мне кажется, что функция, от которой ждут массива, должна всегда возвращать массив. По крайней мере у меня 99% таких функций содержат такой код sub foo { my $arg1 = shift; ... my @answer; ... ... return @answer; }