我們舉一例如下
#!/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
沒有留言:
張貼留言