Perl模块编写说明
程序员文章站
2022-03-22 13:44:45
perl的语法相对来说有点晦涩,主要是一些内置变量和函数处理得相当精巧,而过于精致的东西理解起来就有点费力。相对于shell,perl在很多方面更加强大高效,比如hash(...
perl的语法相对来说有点晦涩,主要是一些内置变量和函数处理得相当精巧,而过于精致的东西理解起来就有点费力。相对于shell,perl在很多方面更加强大高效,比如hash(关联数组)就非常好用,如果要将不同主机发出来的告警信息发送到不同的责任人,在shell中要做非常多的if或者case判断,修改起来也非常费力,而使用关联数组,则可以轻松实现该功能,代码简洁,配置方便,一个字,爽。
perl支持以模块对代码进行封装。著名的cpan上就有非常多好用的module,可以极大的减轻开发量。一个简单的模块:
package ningoo;
require exporter;
use strict;
use warnings;
our @isa = qw(exporter);
our @export = qw(fun_public); #要输出给外部调用的函数或者变量,以空格分隔
our @version = 1.0;
sub func_private{
print "this is a private function";
}
sub func_public{
print "hello,world\n";
func_private();
}
1;
__end__
模块的文件名一般以.pm做后缀,名字和package相同,也就是上面这个module的名字为ningoo.pm。然后在普通的.脚本中调用:
#!/usr/bin/perl -w
# creator: ningoo
# function: test perl module
begin {
push (@inc,'/home/module');
}
use strict;
use ningoo;
func_public();
o'relly出版了一系列perl的图书,比较著名的大骆驼《programming perl》在这里有一个在线中文版本的,可以看看。
作者:ningoo
perl支持以模块对代码进行封装。著名的cpan上就有非常多好用的module,可以极大的减轻开发量。一个简单的模块:
package ningoo;
require exporter;
use strict;
use warnings;
our @isa = qw(exporter);
our @export = qw(fun_public); #要输出给外部调用的函数或者变量,以空格分隔
our @version = 1.0;
sub func_private{
print "this is a private function";
}
sub func_public{
print "hello,world\n";
func_private();
}
1;
__end__
模块的文件名一般以.pm做后缀,名字和package相同,也就是上面这个module的名字为ningoo.pm。然后在普通的.脚本中调用:
#!/usr/bin/perl -w
# creator: ningoo
# function: test perl module
begin {
push (@inc,'/home/module');
}
use strict;
use ningoo;
func_public();
o'relly出版了一系列perl的图书,比较著名的大骆驼《programming perl》在这里有一个在线中文版本的,可以看看。
作者:ningoo
推荐阅读