DB<12> use strict;print @$b Can't use an undefined value as an ARRAY reference at (eval 39)[/data/ +data/com.termux/files/usr/lib/perl5/5.28.2/perl5db +.pl:738] line 2. DB<13> use strict;print @$b=(1..3) 123 DB<14> p $b ARRAY(0xb0a92180) DB<15>
Using $a or $b triggers a special case for sort. This can be seen by using some other variable name instead:
>perl -w -Mstrict -E 'say @$b' Can't use an undefined value as an ARRAY reference at -e line 1. >perl -w -Mstrict -E 'say @$c' Global symbol "$c" requires explicit package name (did you forget to d +eclare "my $c"?) at -e line 1. Execution of -e aborted due to compilation errors. >perl -w -Mstrict -E 'say @$b=(1..3)' 123 >perl -w -Mstrict -E 'say @$c=(1..3)' Global symbol "$c" requires explicit package name (did you forget to d +eclare "my $c"?) at -e line 1. Execution of -e aborted due to compilation errors. >
Alexander
In reply to Re^2: Dereference of undefined value OK under strictures?
by afoken
in thread Dereference of undefined value OK under strictures?
by AnomalousMonk
| For: | Use: | ||
| & | & | ||
| < | < | ||
| > | > | ||
| [ | [ | ||
| ] | ] |