Perl软件包文件找不到

时间:2018-09-22 05:20:04

标签: perl

我在perl中集成了示例函数。一切工作正常,但我无法连接Perl模块软件包文件(.pm)

请查看下面的代码

sample.pl

 package Sample;

  sub  test_function
  {

  return 'Welcome';

  }

Sample.pm

{{1}}

在运行sample.pl文件之后。它返回错误“找不到Sample.pm” ,但软件包文件位于同一文件夹中。

2 个答案:

答案 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