Perl 入門指南 - 套件

套件 (package) 是指 package 陳述 (statemant) 之後的程式碼,全都屬於該套件的名稱空間 (namespace)




我們舉一例如下
#!/usr/bin/env perl

$i = 55;
print "main: $i\n";

package A;
$i = 22;
print "A: $i\n";

package B;
print "B: $i\n";

# 《程式語言教學誌》的範例程式
# http://pydoing.blogspot.com/
# 檔名:packagedemo.pl
# 功能:示範 Perl 程式
# 作者:張凱慶
# 時間:西元 2013 年 1 月 


此例中我們先設定變數 (variable) $i 為 55 ,然後印出 $i 的值,然後定義兩個 package A 與 B ,在 A 中重新設定 $i 的值然後印出來,而在 B 裡則直接印出 $i ,執行結果如下



直譯器直接略過套件 B 裡的 $i ,這是因為套件 B 並沒有 $i 的定義,因此套件 B 並無 $i 的值。


沒有任何 package 設定的話,其實是屬於套件 main 的,舉例如下
#!/usr/bin/env perl

$i = 55;
print "main: $i\n";

package A;
$i = 22;
print "A: $i\n";

package main;
print "main: $i\n";

# 《程式語言教學誌》的範例程式
# http://pydoing.blogspot.com/
# 檔名:packagedemo2.pl
# 功能:示範 Perl 程式
# 作者:張凱慶
# 時間:西元 2013 年 1 月 


這個程式只有將 package B 改成 package main ,執行結果如下



是的,當套件改回 main 之後,就可以使用 package 之前定義的名稱了。


由套件的觀念出發,我們可以進一步定義供其他程式重複利用的模組 (module) 囉!


中英文術語對照
套件package
陳述statemant
名稱空間namespace
變數variable
模組module


您可以繼續參考
基礎篇


相關目錄
回 Perl 入門指南
回 Perl 教材
回首頁


參考資料
http://perldoc.perl.org/perlintro.html
http://perldoc.perl.org/perlsyn.html
http://www.tutorialspoint.com/perl/perl_modules.htm

沒有留言: