如何从csh调用perl并让它包含自定义库?

时间:2015-04-16 21:10:11

标签: perl csh

我有一个csh脚本,我从中调用了一个perl脚本。

set xyz = `perl my_perl.pl`;

以下是my_perl.pl

的内容
#usr/bin/perl
BEGIN {
 @INC = ('/path/to/my/lib/folder', @INC);
}
use my_lib;

sub test {
my_lib::foo();
}

所以,当我像这样运行我的csh时

./run

它说Can't locate my_lib.pm in @INC

如果我像perl -e my_perl.pl一样单独运行my_perl,它可以正常工作。

我如何从我的csh中完成这项工作?我在这里做了一些检查,似乎它没有执行BEGIN块。如果我在BEGIN中放置print "test";,它就不起作用。

请帮忙。

(注意:我必须使用csh,所以请不要建议我不要使用csh)

2 个答案:

答案 0 :(得分:0)

根据@Dre的建议,我补充道 use lib 'blah blah';它似乎正在发挥作用。 (虽然我仍然不知道我这样做的方式有什么问题)

感谢大家的建议。

答案 1 :(得分:-1)

您是否尝试将自定义库包含在PERL5LIB环境中?

从代码中删除BEGIN块并尝试:

setenv PERL5LIB "/path/to/my/lib/folder"
./my_perl.pl