无法关闭perl中的打印文件句柄

时间:2011-09-08 12:38:42

标签: perl printing

我有以下perl片段:

open FH, " | lpr ";
print FH "Hello";
print FH "This is a print test";
close FH or die "can't close: $! $?";

我得到以下输出:

can't close: 256 at <filename> line 4

任何帮助将不胜感激..

提前致谢:)

2 个答案:

答案 0 :(得分:6)

来自perldoc -f close

  

如果文件句柄来自管道打开,“关闭”将会                  如果是其他系统之一,则另外返回false   电话                  涉及失败,或者程序以非零退出   状态。

缺少的错误可能是由于你的lpr-process没有完成,或者那里出了问题。印刷品有效吗?

答案 1 :(得分:0)

如果文件句柄来自管道打开,则如果其中一个其他系统调用失败或其程序以非零状态退出,则close返回false。如果唯一的问题是程序退出非零,$!将设置为0。关闭管道还会等待管道上执行的进程退出 - 如果您希望之后查看管道的输出 - 并隐式将该命令的退出状态值放入$?和{{ 1}}。