明輝手游網(wǎng)中心:是一個(gè)免費(fèi)提供流行視頻軟件教程、在線學(xué)習(xí)分享的學(xué)習(xí)平臺(tái)!

Perl教學(xué)(14)Perl5的包與模塊之4

[摘要]三、模塊多數(shù)大型程序都分割成多個(gè)部件,每一部件通常含有一個(gè)或多個(gè)子程序及相關(guān)的變量,執(zhí)行特定的一個(gè)或多個(gè)任務(wù)。集合了變量和子程序的部件稱為程序模塊。1、創(chuàng)建模塊Perl 5中用包來(lái)創(chuàng)建模塊,方法是創(chuàng)建包并將之存在同名的文件中。例如,名為Mymodult的包存貯在文件Mymodult.pm中(擴(kuò)展名...
三、模塊
多數(shù)大型程序都分割成多個(gè)部件,每一部件通常含有一個(gè)或多個(gè)子程序及相關(guān)的變量,執(zhí)行特定的一個(gè)或多個(gè)任務(wù)。集合了變量和子程序的部件稱為程序模塊。
1、創(chuàng)建模塊
Perl 5中用包來(lái)創(chuàng)建模塊,方法是創(chuàng)建包并將之存在同名的文件中。例如,名為Mymodult的包存貯在文件Mymodult.pm中(擴(kuò)展名.pm表示Perl Module)。下例的模塊Mymodult含有子程序myfunc1和myfunc2及變量$myvar1和$myvar2。

1 : #!/usr/local/bin/perl
2 :
3 : package Mymodule;
4 : require Exporter;
5 : @ISA = qw(Exporter);
6 : @EXPORT = qw(myfunc1 myfunc2);
7 : @EXPORT_OK = qw($myvar1 $myvar2);
8 :
9 : sub myfunc1 {
10: $myvar1 += 1;
11: }
12:
13: sub myfunc2 {
14: $myvar2 += 2;
15: }
第3~7行是標(biāo)準(zhǔn)的Perl模塊定義方式。第3行定義包,第4行包含內(nèi)置Perl模塊Exporter,6、7行進(jìn)行子程序和變量的輸出以與外界聯(lián)系。第6行創(chuàng)建名為@EXPORT的特殊數(shù)組,該數(shù)組中的子程序可以被其它程序調(diào)用,這里,myfunc1和myfunc2可以被訪問(wèn)。其它任何在模塊中定義但沒(méi)有賦給數(shù)組@EXPORT的子程序都是私有的,只能在模塊內(nèi)部調(diào)用。第7行創(chuàng)建另一個(gè)名為@EXPORT_OK的特殊數(shù)組,其中含有可被外部程序訪問(wèn)的變量,這里含有$myvar1和$myvar2。