大佬教程收集整理的这篇文章主要介绍了只有在使用-d开关运行时,perl脚本才会抛出编译错误,大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
Loading DB routInes from perl5db.pl version 1.33 Editor support available. Enter h or `h h' for Help,or `perldoc perldebug' for more Help. main::(..\..\bin\testnbestrover1.pl:23): 23: binmode STDOUT,":utf8"; Access is denied. Unknown error Compilation failed in require at //fbl/NAS/PUB/RapTools/Perl64/lib/Term/ReadLine /Perl.pm line 65. at //fbl/NAS/PUB/RapTools/Perl64/lib/Term/ReadLine/Perl.pm line 65 Term::readLine::Perl::new('Term::readLine','perldb','GLOB(0x382418)','GLOB(0x322c30)') called at //fbl/NAS/PUB/RapTools/Perl64/lib/perl5db.pl line 60 68 DB::setterm called at //fbl/NAS/PUB/RapTools/Perl64/lib/perl5db.pl line 2241 DB::DB called at ..\..\bin\testnbestrover1.pl line 23 Attempt to reload Term/ReadLine/readline.pm aborted. Compilation failed in require at //fbl/NAS/PUB/RapTools/Perl64/lib/Term/ReadLine /Perl.pm line 65. END failed--call queue aborted at ..\..\bin\testnbestrover1.pl line 65. at ..\..\bin\testnbestrover1.pl line 65
当我在没有-d开关的情况下运行脚本时,不会发生这种情况.关于这里可能出错的任何想法?
谢谢!
编辑:
如果我注释掉binmode STDOUT,“:utf8”,则会发生Term / ReadLine / Perl.pm第65行中的相同错误.声明.
在网上搜索此特定错误后,我发现其他人在使用“>”将其STDOUT重定向到文件时遇到了同样的错误操作符.事实证明,我的perl命令做了同样的事情,当我删除它时,调试器工作正常.
似乎是特定perl调试器的问题(即per5db.pl版本1.33)?
从查看Term :: ReadLine :: Perl我想这个问题就在它试图加载Term :: ReadLine :: readline的行中,它试图用STDIN,STDOUT等来做一些东西,把它用作终端.因为这实际上意味着,某些字节序列具有特殊含义(转义和控制代码,如重置终端,开关线模式,回声等),这可能会与您的binmode STDOUT设置有关.
以上是大佬教程为你收集整理的只有在使用-d开关运行时,perl脚本才会抛出编译错误全部内容,希望文章能够帮你解决只有在使用-d开关运行时,perl脚本才会抛出编译错误所遇到的程序开发问题。
如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。