perl - 获取数组长度时在无效上下文中无用地使用私有(private)数组

标签 perl while-loop

我试图创建一个循环,当 @arr1@arr2 的长度均为零时停止。我收到此警告消息

Useless use of private array in void context

当我使用它时

while (scalar (@arr1, @arr2) ) {
  #more code
}

为什么我会收到警告?

最佳答案

scalar 接受一个参数。你必须使用更复杂一点

while (scalar @arr1 or scalar @arr2)

幸运的是,这相当于更短

while (@arr1 or @arr2)

关于perl - 获取数组长度时在无效上下文中无用地使用私有(private)数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28488175/

相关文章:

regex - Perl 正则表达式 - 仅打印修改后的行(如 sed -n 's///p' )

perl - 在 Catalyst 中使用 Plack::Middleware 兼容异常时缺少日志输出

arrays - Perl 脚本问题

PHP/MySQL : how to dynamically change my (large and always changing) database

MySQL While循环抛出错误

windows - Perl正则表达式问题

perl - 奥莱特 : Unicode-question

c - 这个程序最后是怎么得到5的呢?

java - 我该怎么做才能再次打印菜单选项?

c++ - 如何解决 while 循环中数组重载的问题