我有在C#中调用的perl脚本
perlStartInfo.Arguments = "C:\\c_sharp\\app\\test.pl";
现在test.pl需要另一个包含其他函数的perl脚本。
require 'func.pl';
但是当执行require行时,C#会给出异常。如果我发表评论“require'func.pl';”然后C#应用程序不会抱怨。
test.pl在C#之外完美运行。
我应该做些什么更改,以便test.pl在C#应用程序中运行时没有错误,并且还调用func.pl。
后续问题 - 在生产服务器中部署构建时,是否必须处理perlStartInfo.Arguments中指定的路径。
答案 0 :(得分:0)
我最终做的是将所需文件所在文件夹的路径作为输入参数传递给main.pl文件。
在main.pl文件中,我添加了以下行
$ lib_path = File :: Spec-> catfile($ ARGV [3]);
推送@ INC,$ lib_path;
解决了这个问题。