加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 大数据 > 正文

有没有办法将常见的Perl函数封装到自己的脚本中?

发布时间:2020-12-16 06:10:45 所属栏目:大数据 来源:网络整理
导读:我正在维护几个Perl脚本,它们都具有用于不同功能的类似代码块.每次更新代码块时,我都必须遍历每个脚本并手动进行更改. 有没有办法将常用函数封装到自己的脚本中并调用它们? 解决方法 还有其他方法,但它们都有严重的问题.模块是要走的路,它们不一定非常复杂.
我正在维护几个Perl脚本,它们都具有用于不同功能的类似代码块.每次更新代码块时,我都必须遍历每个脚本并手动进行更改.

有没有办法将常用函数封装到自己的脚本中并调用它们?

解决方法

还有其他方法,但它们都有严重的问题.模块是要走的路,它们不一定非常复杂.这是一个基本模板:

package Mod;

use strict;
use warnings;

use Exporter 'import';

#list of functions/package variables to automatically export
our @EXPORT = qw(
    always_exported   
); 

#list of functions/package variables to export on request
our @EXPORT_OK = qw(
    exported_on_request
    also_exported_on_request
);

sub always_exported { print "Hin" }

sub exported_on_request { print "Hellon" }

sub also_exported_on_request { print "hello worldn" }

1; #this 1; is required,see perldoc perlmod for details

创建一个像/ home / user / perllib这样的目录.将该代码放在该目录中名为Mod.pm的文件中.您可以像这样使用模块:

#!/usr/bin/perl

use strict;
use warnings;

#this line tells Perl where your custom modules are
use lib '/home/user/perllib';

use Mod qw/exported_on_request/;

always_exported();
exported_on_request();

当然,您可以根据需要为文件命名.将包命名为与文件相同是一种好的形式.如果你想在包的名称中使用::(如File :: Find),你需要在/ home / user / perllib中创建子目录.每个::相当于一个/,所以My :: Neat :: Module将进入文件/home/user/perllib/My/Neat/Module.pm.您可以在perldoc Exporter中阅读有关perldoc perlmod及更多有关Exporter的模块的更多信息

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读