use strict;
use warnings FATAL => 'all';
my $x = undef;
if (@$x) { print "ok\n" }
else { print "no\n" }
Как и ожидалось, выдает "Не удается использовать неопределенное значение в качестве ссылки на массив" для if (@$x)
. Но вставив foreach (@$x)
:
use strict;
use warnings FATAL => 'all';
my $x = undef;
foreach (@$x) { print $_ } # <-------
if (@$x) { print "ok\n" }
else { print "no\n" }
print ref($x)."\n";
Выходы:
no
ARRAY
Строка foreach
, похоже, присвоила $x
. Что с этим?