【发布时间】:2010-06-04 18:02:29
【问题描述】:
我有一个抓取标准输入的脚本:
&process_input
sub process_input {
while(<STDIN>) {
$log_data .= $_;
}
}
当我运行脚本时:
myscript.pl -param1=a -param2=b
我陷入了这个子程序。如果我这样做,一切运行正常:
echo "" | myscript.pl -param1=a -param2=b
如何确定我是否有标准输入?
我原以为 while(<STDIN>) 会返回 false 并且不会运行,但我猜它实际上是在等待您输入一些内容来说明它为什么会“卡住”。
【问题讨论】: