如何在openshift中要求(包含)perl文件?

时间:2014-03-02 12:21:09

标签: perl openshift

我写了a.pl和b.pl, 我在a.pl中的openshift中包含了一个perl文件b.pl:

a.pl:
#!/usr/bin/perl -w
require "b.pl";
....

但是当我使用git将代码推送到openshift时 它还说它找不到b.pl?

remote: ! Finding b.pl on cpannetadb failed.
....
remote: ! Couldn't find module or a distribution b.pl
remote: An error occurred executing 'gear postreceive'
...

任何人都知道这是什么问题?

1 个答案:

答案 0 :(得分:0)

需要将包含脚本的目录路径添加到@INC。

在require语句之前添加use lib语句。这将在@INC路径中添加目录。

use lib "/path/of/directory/where/script/is/present";

use lib "/var/lib/openshift/5xxxxxxxxxxxxxxd/app-root/runtime/repo";
require "b.pl";

或使用完整绝对路径

require "/var/lib/openshift/5xxxxxxxxxxxxxxd/app-root/runtime/repo/b.pl";