Perl模块用法

前端之家收集整理的这篇文章主要介绍了Perl模块用法前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我正在尝试在/usr/local / lib / perl中创建自己的Perl模块

我有环境变量PERL5LIB设置:

  1. $env | grep PERL
  2. PERL5LIB=/usr/local/lib/perl

如果我创建一个模块:$PERL5LIB / My / ModuleTest.pm

  1. $./test.pl
  2. Can't locate object method "new" via package "My::ModuleTest" (perhaps you forgot to load "My::ModuleTest"?) at ./test.pl line 8.

test.pl:

  1. #!/usr/bin/perl
  2.  
  3. use strict;
  4. use warnings;
  5. use My::ModuleTest;
  6.  
  7. my $test = new My::ModuleTest;
  8. print $test->check;

ModuleTest.pm:

  1. package ModuleTest;
  2.  
  3. use strict;
  4. use warnings;
  5.  
  6. sub new {
  7. my $class = shift;
  8. my ($opts)= @_;
  9. my $self = {};
  10. $self->{test} = "Hello World";
  11.  
  12. return bless $self,$class;
  13. }
  14. sub check {
  15. my $self = shift;
  16. my ($opts) = @_;
  17.  
  18. return $self->{test};
  19. }
  20. 1;

我想使用$PERL5LIB作为模块的库路径,将它们与安装目录隔离开来.

Perl @INC:

  1. $perl -le 'print foreach @INC'
  2. /usr/local/lib/perl
  3. /usr/lib/perl5/site_perl/5.8.8/i386-linux-thread-multi
  4. /usr/lib/perl5/site_perl/5.8.8
  5. /usr/lib/perl5/site_perl
  6. /usr/lib/perl5/vendor_perl/5.8.8/i386-linux-thread-multi
  7. /usr/lib/perl5/vendor_perl/5.8.8
  8. /usr/lib/perl5/vendor_perl
  9. /usr/lib/perl5/5.8.8/i386-linux-thread-multi
  10. /usr/lib/perl5/5.8.8
  11. .

解决方法

试试包My :: ModuleTest;在你的文件ModuleTest.pm中 – 你应该使用全名.

猜你在找的Perl相关文章