将数据重定向到文件时出错

时间:2016-06-21 20:18:36

标签: perl file line handler

经常[并不总是]当我运行程序时定义文件处理程序我在内部函数上得到奇怪的错误,我不明白如何调试。 在我的PERL代码中,我有以下行[111]: 打开V_FILE_SEC,“>> $ file / V_ $ file $ dir.csvT”或死$!;

当我操作脚本[> myscript.pl DPX_ *]时,我得到:

“在myscript.pl第111行第18004行没有这样的文件或目录。”

18004行是什么意思?如何开始调试?

感谢。

1 个答案:

答案 0 :(得分:2)

来自perldoc -f die

  

如果LIST的最后一个元素没有以换行符结尾,则还会打印当前脚本行号和输入行号(如果有),并提供换行符。 [强调添加]

"输入行号"是$.中的值,大致是您从最近访问过的文件句柄中读取的输入行数。

在您的情况下,您可以使用查看您的程序输入,并查看您的程序是否期望在第18004行附近是否有任何异常。