2015-08-24 77 views
-1

我看了這個bug,但我不知道如何在opeshift平臺上的perl應用程序中使用我的模塊。openshift perl模塊加載

這是我在./libs/MyModuleA12H.pm

模塊
#!/usr/bin/perl 
use strict; 
use Exporter qw(import); 
our @EXPORT_OK = qw(test); 

package MyModuleA12H; 

sub test { 
    return 'content...'; 
} 

1; 

,在這裏我./index.pl

#!/usr/bin/perl 
print 'Content-type: text/html\r\n\r\n'; 

print '<html><head><title>HI</title></head><body>'; 
use File::Basename qw(dirname); 
use Cwd qw(abs_path); 
use lib dirname($0) . '/libs'; 
require MyModuleA12H; 

print '<div>'; 
print MyModuleA12H::test(); 
print '</div>'; 

print '</body></html>'; 

本地它的工作原理,但如果我犯和重裝,我收到了文件未找到。

編輯

看起來像一個權限問題什麼的。如果我評論所有「使用」部分index.pl無法找到。

EDIT 2

print 'Content-type: text/html\r\n\r\n'; 

,應該是」做跟單引號有點亂,現在的作品,感謝鮑羅廷的建議,我將這些更改。

回答

1

你需要use MyModuleA12H而不是require MyModuleA12H,因爲require不會調用模塊的import方法

和你package說法是爲時已晚,所以要導入Exporter::importmain,而不是MyModuleA12H

這是它應該如何看

#!/usr/bin/perl 

use strict; 
use warnings; 

package MyModuleA12H; 

use Exporter qw(import); 

our @EXPORT_OK = qw(test); 

sub test { 
    'content...'; 
} 

1;