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》在這里有一個在線中文版本的,可以看看。
新聞熱點
疑難解答
圖片精選