perl中模块的概念(基础)

perl中模块的概念(基础),第1张

概述 模块 模块是一个.pm文件,可以在其他Perl文件(脚本或者模块)中引用。模块是一个文本文件,和perl脚本.pl的语法一模一样。模块的例子可以参考C:\foo\bar\baz\Demo\StringUtils.pm或者/foo/bar/baz/Demo/StringUtils.pm,代码如下: use strict;   use warnings;  

 模块

模块是一个.pm文件,可以在其他Perl文件(脚本或者模块)中引用。模块是一个文本文件,和perl脚本.pl的语法一模一样。模块的例子可以参考C:\foo\bar\baz\Demo\StringUtils.pm或者/foo/bar/baz/Demo/StringUtils.pm,代码如下:

  use strict;      use warnings;           sub zombify {          my $word = shift @_;          $word =~ s/[aeIoU]/r/g;          return $word;      }           return 1;   

因为当一个模块被载入时,模块是从头到尾的执行,你需要在末尾返回一个true值,表示这个模块已经载入成功。

为了让Perl解释器可以找到它们,在调用perl之前,包含perl模块的目录必须在环境变量PERL5liB中列明。列出包含模块的根目录,而不要列出模块所在目录或者模块本身:

  set PERL5liB=C:\foo\bar\baz;%PERL5liB%    

或者

  export PERL5liB=/foo/bar/baz:$PERL5liB   

一旦Perl模块被创建,perl就会知道哪里才能找到它们,你可以在perl脚本中使用require函数搜索并执行它。例如,调用require Demo::StringUtils会触发Perl解释器在PERL5liB的目录中逐一搜索,查找名为Demo/StringUtils.pm的文件。模块被执行完后,模块中定义的子程序现在对于主脚本来说就是可调用的了。我们的例子中可能叫做main.pl,并且代码如下:

  use strict;      use warnings;           require Demo::StringUtils;           print zombify("i want brains"); # "r wrnt brrrns"   

注意,使用双冒号隔开目录和模块。

现在出现一个问题:如果main.pl包含很多require语句,并且每个模块包含很多require,那么我们就很难去追踪原始的zombify定义到底是在哪里。解决方法就是使用包。

总结

以上是内存溢出为你收集整理的perl中模块的概念基础)全部内容,希望文章能够帮你解决perl中模块的概念(基础)所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/langs/1282042.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-06-09
下一篇 2022-06-09

发表评论

登录后才能评论

评论列表(0条)