學(xué)習(xí)筆記 Perl模塊概述
本文和大家重點討論一下Perl模塊的概念,多數(shù)大型程序都分割成多個部件,每一部件通常含有一個或多個子程序及相關(guān)的變量,執(zhí)行特定的一個或多個任務(wù)。集合了變量和子程序的部件稱為程序Perl模塊。
Perl模塊
多數(shù)大型程序都分割成多個部件,每一部件通常含有一個或多個子程序及相關(guān)的變量,執(zhí)行特定的一個或多個任務(wù)。集合了變量和子程序的部件稱為程序Perl模塊。
1、創(chuàng)建Perl模塊
Perl5中用包來創(chuàng)建Perl模塊,方法是創(chuàng)建包并將之存在同名的文件中。例如,名為Mymodult的包存貯在文件Mymodult.pm中(擴展名.pm表示PerlModule)。下例的Perl模塊Mymodult含有子程序myfunc1和myfunc2及變量$myvar1和$myvar2。
- 1:#!/usr/local/bin/perl
 - 2:
 - 3:packageMymodule;
 - 4:requireExporter;
 - 5:@ISA=qw(Exporter);
 - 6:@EXPORT=qw(myfunc1myfunc2);
 - 7:@EXPORT_OK=qw($myvar1$myvar2);
 - 8:
 - 9:submyfunc1{
 - 10:$myvar1+=1;
 - 11:}
 - 12:
 - 13:submyfunc2{
 - 14:$myvar2+=2;
 - 15:}
 
第3~7行是標準的PerlPerl模塊定義方式。第3行定義包,第4行包含內(nèi)置PerlPerl模塊Exporter,6、7行進行子程序和變量的輸出以與外界聯(lián)系。第6行創(chuàng)建名為@EXPORT的特殊數(shù)組,該數(shù)組中的子程序可以被其它程序調(diào)用,這里,myfunc1和myfunc2可以被訪問。其它任何在Perl模塊中定義但沒有賦給數(shù)組@EXPORT的子程序都是私有的,只能在Perl模塊內(nèi)部調(diào)用。第7行創(chuàng)建另一個名為@EXPORT_OK的特殊數(shù)組,其中含有可被外部程序訪問的變量,這里含有$myvar1和$myvar2。
2、導(dǎo)入Perl模塊
將Perl模塊導(dǎo)入你的Perl程序中使用use語句,如下句導(dǎo)入了MymodulePerl模塊:
useMymodule;
這樣,Perl模塊Mymodule中的子程序和變量就可以使用了。
取消導(dǎo)入Perl模塊使用no語句,如下句取消了MymodulePerl模塊的導(dǎo)入:
noMymodule;
下面看一個導(dǎo)入Perl模塊和取消導(dǎo)入的例子,使用integerPerl模塊要求所有數(shù)字運算基于整數(shù),浮點數(shù)在運算前均被轉(zhuǎn)化為整數(shù)。
- 1:#!/usr/local/bin/perl
 - 2:
 - 3:useinteger;
 - 4:$result=2.4+2.4;
 - 5:print("$result\n");
 - 6:
 - 7:nointeger;
 - 8:$result=2.4+2.4;
 - 9:print("$result\n");
 
程序輸出如下:
$program
4
4.8
$
如果use或no語句出現(xiàn)在語句塊中,則只在該塊的有效范圍內(nèi)起作用,如:
- useinteger;
 - $result1=2.4+2.4;
 - if($result1==4){
 - nointeger;
 - $result2=3.4+3.4;
 - }
 - $result3=4.4+4.4;
 
結(jié)果輸出如下:
4
6.8
8
這里,no語句只在if語句中有效,出了if語句仍使用integerPerl模塊,因此4.4在做加法前被轉(zhuǎn)化成了4。
3、預(yù)定義Perl模塊
Perl5提供了許多有用的預(yù)定義Perl模塊,可以用use導(dǎo)入和no語句取消。下面是庫中最有用的一些Perl模塊:
Perl文檔中有完整的預(yù)定義Perl模塊列表。
注:世界各地的Perl5用戶寫了許多有用的Perl模塊,CPAN(ComprehensivePerlArchiveNetwork)的Perl文檔有其完整的列表。關(guān)于CPAN的更多信息見其網(wǎng)址:http://www.perl.com/perl/CPAN/README.html。
 
【編輯推薦】
- Linux操作系統(tǒng)下安裝Perl及Perl模塊方法
 - Perl文件句柄概念詳解
 - 詳細介紹Linux安裝Perl及Perl模塊方法
 - CGI Lite Perl模塊元字符輸入驗證漏洞
 - 術(shù)語匯編 Perl變量中Perl關(guān)聯(lián)數(shù)組用法解析
 















 
 
 
 
 
 
 