我有一个模块(用于模板模块处理)的Perl模块存储在文件末尾的__DATA__和__END__关键字之间。当试图使用该模板生成文件时,生成的文件变空并且没有警告或错误输出。调试完成后,我发现DATA文件句柄在传递给模板模块之前实际上是空的。Perl数据文件句柄在读取时为空
该模块的以前版本能够正确地从DATA中读取模板,但是我所做的任何更改都不应该影响这部分代码。这些变化包括逻辑变化完全独立的功能和添加以下使用语句到模块内:我试图perl的模块上加上写入权限
use DBI;
use DBI::Const::GetInfoType;
use Switch;
(它最初只读)并除去__END__关键字因为我发现这不是必要的。不幸的是,DATA文件句柄仍然显示为空。
什么样的问题可能导致DATA文件句柄为空,并且这些问题是否适用于我的情况?我正在使用Perl V5.12.5。
请注意,Debian stable中libswitch-perl软件包的描述是这样的:“这是一个为了兼容性而提供的废弃模块,因为它是从核心中移除的。对于perl 5.10及以上的'given' /'when '建筑物更受青睐。“由于您使用的是v5.12,因此可用。 – david