Perl 入門指南 - 模組

模組 (module) 是副檔名為 .pm 的檔案,檔案內需要定義與檔名相同的套件 (package)




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

package Demo;

sub print_newline {
    print "\n";
}

sub print_something {
    $a = shift;
    print "$a\n";
}
    
sub return_something {
    return shift;
}

1;

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


檔案名稱為 Demo.pm ,裡頭的套件名稱亦為 Demo
package Demo;


三個副程式 (subroutine) 為我們之前的範例,注意這一行
1 ;


這裡只寫了一個整數 1 ,表示邏輯上的 True ,放這一行的目的是給載入時用的,如果沒有這一行,直譯器會判斷這是個不可載入的模組。


下面例子示範用 require 函數 (function) 載入 Demo
#!/usr/bin/env perl

require Demo;

Demo::print_newline();
Demo::print_something(Demo::return_something("There is no spoon."));
Demo::print_newline();

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


require 後面接模組名稱即可
require Demo;


使用模組內定義的內容,必須先用 :: 設定所屬的套件
Demo::print_newline();
Demo::print_something(Demo::return_something("There is no spoon."));
Demo::print_newline();


程式很簡單,跟我們之前的範例一樣,執行結果如下



require 的缺點是要用 :: 設定所屬套件,另外有個 use 函數,可以直接引入模組內的名稱,但是這樣的話,模組就必須做一堆麻煩的設定。


接下來我們要進入軟體開發的部份了, Perl 有很多預先定義好的變數 (variable) ,先來看看這些特別變數 (special variable) 吧!


中英文術語對照
模組module
套件package
副程式subroutine
函數function
變數variable
特別變數special variable


您可以繼續參考
基礎篇


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


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

沒有留言: