我可以在其中创建一个带有"空插槽"的数组:
$ perl -wde 1
...
DB<1> $x[2] = 0
DB<2> x \@x
0 ARRAY(0x103d5768)
0 empty slot
1 empty slot
2 0
Run Code Online (Sandbox Code Playgroud)
要么
DB<3> $#y = 4
DB<4> x \@y
0 ARRAY(0x103d5718)
0 empty slot
1 empty slot
2 empty slot
3 empty slot
4 empty slot
Run Code Online (Sandbox Code Playgroud)
请注意:这与分配不同undef.
但是如何使用[和指定匿名数组]呢?
这不起作用:
DB<5> x [,,0]
syntax error at (eval 27)[/usr/local/lib/perl5/5.10.0/perl5db.pl:638] line 2, near "[,"
Run Code Online (Sandbox Code Playgroud)
这也失败了,因为我只得到指定的值:
DB<6> x []->[2] = 0
0 0
Run Code Online (Sandbox Code Playgroud)
额外问题:如何在Perl脚本中检查"空数组槽"?
背景:在我的测试脚本中,我希望能够精确地比较数组内容.例如,我想区分"未分配"和"分配了undef值".
感谢您的任何见解.