我在perl中集成了示例函数。一切工作正常,但我无法连接Perl模块软件包文件(.pm)
请查看下面的代码
sample.pl
package Sample;
sub test_function
{
return 'Welcome';
}
Sample.pm
{{1}}
在运行sample.pl文件之后。它返回错误“找不到Sample.pm” ,但软件包文件位于同一文件夹中。
答案 0 :(得分:3)
该问题的原因是找不到perl模块位置。将以下行添加到sample.pl文件中
export class Component {
categories: any[];
services: any[]
cities: any[];
selected: any ={}
constructor(){
getAllCategories(){
this.postService.getAllCategories()
.subscribe(data =>{
this.categories = data.json();
console.log(this.categories)
})
}
getAllService(){
this.postService.getAllServices()
.subscribe( res =>{
this.services = res.json();
})
}
onSelect(category) {
this.selected = category;
console.log(category);
}
}
}
答案 1 :(得分:2)
首先,您的Sample.pm
文件必须完成返回真值的操作。常用的方法是在文件的末尾附加1;
。
package Sample;
use strict;
use warnings;
sub test_function {
return 'Welcome';
}
1;
在Perl 5.26之后,当前目录已从@INC
中删除。有几种方法可以解决此问题。例如,运行脚本时可以使用-I
选项:
perl -I. sample.pl
有关@INC
的处理方法的更深入的演讲,请read this SO post。