Perl脚本在c#应用程序内部执行时不能调用另一个Perl脚本

本文关键字:Perl 脚本 不能 另一个 调用 内部 应用程序 执行 | 更新日期: 2023-09-27 18:17:57

我有perl脚本在c#中调用

perlStartInfo.Arguments = "C:''c_sharp''app''test.pl"; 

现在test.pl需要另一个包含其他函数的perl脚本。

require 'func.pl';

但是c#在执行require行时会给出一个异常。如果我注释"require ' function .pl';",那么c#应用程序不会报错。

test.pl在c#之外可以完美运行。

我应该做什么改变,使test.pl在c#应用程序中没有错误地运行,并且还调用function .pl.

后续问题-我是否必须照顾perlStartInfo中指定的路径。参数

Perl脚本在c#应用程序内部执行时不能调用另一个Perl脚本

我最后做的是将所需文件所在文件夹的路径作为输入参数传递给main.pl文件。

在main.pl文件中,我添加了以下行

$lib_path = File::Spec->catfile($ARGV[3]);

push @INC, $lib_path;

解决了这个问题