我一直在使用我自己的个人环境,该环境已经持续工作了 20 多年。大约 14 年前,我开始合并许多 perl 脚本。22 年来,我一直在使用相同的命令行解释器树(NDOS->4DOS->4NT->TCMD,实际上都是同一个程序)。
我刚从 ActiveState windows perl 切换到 Strawberry Perl。
多年来,这就是我运行 perl 脚本所需的全部内容:
SET .pl=perl
这是您指定使用什么程序打开内容的方式。
我可以简单地做到这一点:
c:\>test.pl
Hello, world!
事情刚刚奏效。永远。
今天,在一个使用一周的操作系统中,一切都停止了工作。
Perl 脚本会运行,但它们不会做任何事情。没有错误。没有输出。没有什么。
它工作的唯一方法是如果我在脚本前加上“perl”(在这种情况下,我的路径不会被搜索,因为脚本名称现在是一个参数,所以我不得不填写脚本的完整路径)
这就是成为我的感觉:
C:\>test.pl
C:\>perl test.pl
Can't open perl script "test.pl": No such file or directory
C:\>perl c:\bat\test.pl
Hello, world!
请注意,这在昨天运行良好,甚至在今天早些时候。我不知道是什么改变了它,又是什么破坏了它,而且我已经看了很长时间,发现了类似但不相同的问题 - 并且没有任何修复有帮助。
我有一大堆脚本。我真的很讨厌必须在每个人之前插入世界“perl”,然后限定完整路径!
实际上,我可能必须编写一个 perl.bat 包装器,将参数文件名转换为完全限定的路径,并显式调用 perl。
我真的不想那样做。这是一个禁止援助的解决方案。我想了解什么是错误的,地址是,并解决它。
我开始讨厌Windows 7...