找回密码
 注册
搜索
[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
查看: 17597|回复: 0

[转载教程] Perl模块编写说明

[复制链接]
发表于 2012-1-16 11:33:27 | 显示全部楼层 |阅读模式
这两天在用Perl编写一些监控脚本,其实写代码也是一件挺有意思的事情,就是挺废时间的。而且,由于语法不太熟,基本想到一个东西都要先Google一下看怎么实现。
Perl的语法相对来说有点晦涩,主要是一些内置变量和函数处理得相当精巧,而过于精致的东西理解起来就有点费力。相对于Shell,Perl在很多方面更加强大高效,比如Hash(关联数组)就非常好用,如果要将不同主机发出来的告警信息发送到不同的责任人,在shell中要做非常多的if或者case判断,修改起来也非常费力,而使用关联数组,则可以轻松实现该功能,代码简洁,配置方便,一个字,爽。

Perl支持以模块对代码进行封装。著名的CPAN上就有非常多好用的Module,可以极大的减轻开发量。一个简单的模块:
  1. package NinGoo;
  2. require Exporter;
  3. use strict;
  4. use warnings;

  5. our @ISA = qw(Exporter);
  6. our @EXPORT = qw(fun_public); #要输出给外部调用的函数或者变量,以空格分隔
  7. our @version = 1.0;
  8. sub func_private{
  9. print "This is a private function";
  10. }

  11. sub func_public{
  12. print "Hello,world\n";
  13. func_private();
  14. }

  15. 1;
  16. __END__
复制代码
模块的文件名一般以.pm做后缀,名字和package相同,也就是上面这个Module的名字为NinGoo.pm。然后在普通的.脚本中调用:
  1. #!/usr/bin/perl -w
  2. # creator: NinGoo
  3. # function: test perl module

  4. BEGIN {
  5. push (@INC,'/home/module');
  6. }

  7. use strict;
  8. use NinGoo;

  9. func_public();
复制代码
O'Relly出版了一系列Perl的图书,比较著名的大骆驼《Programming Perl》在这里有一个在线中文版本的,可以看看。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|手机版|小黑屋|批处理之家 ( 渝ICP备10000708号 )

GMT+8, 2026-3-17 01:06 , Processed in 0.015979 second(s), 8 queries , File On.

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

快速回复 返回顶部 返回列表