加载中…
个人资料
  • 博客等级:
  • 博客积分:
  • 博客访问:
  • 关注人气:
  • 获赠金笔:0支
  • 赠出金笔:0支
  • 荣誉徽章:
正文 字体大小:

两种指定Perl模块目录的方法(PERLLIB和use lib)

(2015-01-22 21:20:54)
标签:

perl

模块

目录

导入

分类: 编程语言

本文介绍两种比较方便的指定Perl模块目录的方法。

使用的代码的目录结构如下:

两种指定Perl模块目录的方法(PERLLIB和use <wbr>lib)

三个文件的源代码如下:

test.pl

#!/usr/bin/perl -W

 

package main;

 

use strict;

use warnings;

use subpm2::log;

 

subpm2::log::info("hello world!\n");

 

 

lib/subpm1/log.pm

package subpm1::log;

 

use strict;

use warnings;

 

 

sub info {

   my ($str) = shift;

   print "subpm1::log::info -> $str";

}

 

1;

 

lib/subpm2/log.pm

package subpm2::log;

 

use strict;

use warnings;

use subpm1::log;

 

sub info {

   my ($str) = shift;

   print "subpm2::log::info -> ";

   subpm1::log::info($str);

}

 

1;

 

使用PERLLIBPERL5LIB环境变量

Linux下的话,将PERL5LIB添加到环境变量中,指定模块所在的目录即可。

Windows下的话,同样也是把PERL5LIB添加到环境变量中。如下图:

两种指定Perl模块目录的方法(PERLLIB和use <wbr>lib)

使用PERLLIB环境变量也可以达到同样的效果。

使用use lib

Perl允许使用use lib在代码中指定模块所在的目录。将test.pl的代码修改如下:

#!/usr/bin/perl -W

 

package main;

 

use strict;

use warnings;

use File::Basename;

# __FILE__表示当前文件的路径

use lib dirname(__FILE__) . "/lib";

use subpm2::log;

 

subpm2::log::info("hello world!\n");

 

 

程序输出:

subpm2::log::info -> subpm1::log::info -> hello world!

 

0

阅读 收藏 喜欢 打印举报/Report
  

新浪BLOG意见反馈留言板 欢迎批评指正

新浪简介 | About Sina | 广告服务 | 联系我们 | 招聘信息 | 网站律师 | SINA English | 产品答疑

新浪公司 版权所有