我正在运行ActivePerl 5.24 build 2401 x64。以前,当我在Windows 7中运行此版本和版本时,我的脚本在遇到致命错误时会在命令中指示行和原因(例如"行中的行太长,行11和#34;)提示我从中运行它。这对我来说很好,可以找出错误并调试文件。
我最近迁移到了Windows 10系统。但是现在,每当遇到脚本中的错误时,所发生的一切都会弹出一个窗口,说明" Perl命令行解释器已停止工作"。没有其他信息,这是一个痛苦的屁股,因为我不知道脚本在哪里出错和崩溃。
要明确,Perl已在Windows 10系统上正确安装。当我更正脚本和/或数据文件时,一切都在游泳。只有在显示此消息时出现错误,并且它无法帮助我找出错误。
我已经开始重新连接我的旧系统并从那里运行任何脚本,因为否则几乎不可能弄清楚发生了什么。
任何指针?我可以在Windows 10中在命令提示符下打印错误消息,而不是弹出无用的消息?或者我可以使用其他调试设置吗?我尝试使用perl -d但是调试器现在对我的级别来说有点太多了。
为了记录,我尝试使用最新的StrawberryPerl 5.24版本并遇到了完全相同的问题。
答案 0 :(得分:0)
问题是perl正在死亡,并且永远不会达到错误条件
很难确定,但我猜你会选择旧的,错误的perl安装,而不是你认为的那个。这可以解释为什么安装Strawberry Perl显示没有变化
尝试输入
where perl
并查看列表中是否有多个条目。顶部的条目是为响应perl
命令而运行的条目
找到要运行的perl.exe
文件,并在命令行中明确指定,如下所示
C:\path\to\perl.exe
(显然,给出正确的路径)
同时检查PERLLIB
和PERL5LIB
的值,以确保perl不会选择使用其他版本构建的模块