【发布时间】:2013-12-26 11:14:45
【问题描述】:
命令
ls | perl -lane "print $ARGV[0]"
我尝试将 ls 输出通过管道传输到一行 perl 脚本并打印参数,但我得到以下输出。使用的 perl 版本是为 sun4-solaris-64int 构建的 5.8.4。
结果
ARRAY(0x229e8)
ARRAY(0x229e8)
ARRAY(0x229e8)
ARRAY(0x229e8)
ARRAY(0x229e8)
ARRAY(0x229e8)
ARRAY(0x229e8)
ARRAY(0x229e8)
ARRAY(0x229e8)
ARRAY(0x229e8)
列出目录中的文件需要进行哪些更改?
【问题讨论】:
-
在 Unix 中,shell 命令中的双引号会插入变量。由于您的 shell 环境中可能没有定义名为
ARGV的变量,因此您的代码等效于... | perl -lane 'print [0]'。