Perl错误消息中的<data>是什么意思?

时间:2015-07-03 01:44:31

标签: perl error-handling

enter image description here

我试图调试我目前在Perl中遇到的错误,我的第一个线索是文件和行说明。但是,我不确定&lt; DATA &gt;是。

那是什么?

2 个答案:

答案 0 :(得分:4)

这意味着您在发生错误时已从DATA文件句柄中读取了228行。在这种情况下,它不太可能具有相关性。

当有问题的句柄为DATA时,它更不可能相关。 DATA允许程序从源文件的末尾读取数据。它通常用于存储硬编码数据或部分程序本身。它通常在程序执行的早期从头到尾读取。但很少有人关闭句柄,因此不相关的错误消息最终被标记为该数据的最后一行的数字。

答案 1 :(得分:1)

<DATA>是Perl中__DATA____END__令牌的默认文件句柄。

这意味着,在您运行的perl脚本的末尾应该有__DATA____END__个部分。 Perl解释器将这些令牌后的任何文本视为文件,并通过<DATA>文件句柄提供给程序。

print while (<DATA>); 
# End of Perl script. Whatever follows goes into <DATA> fh. 

__DATA__
line 1
line 2
line 3
line 4
line 5
line 6