什麼是 Perl 模組?


Perl 模組是在庫檔案中定義的可重用包,其檔名與包名相同,副檔名為 .pm。

名為 Foo.pm 的 Perl 模組檔案可能包含如下語句。

#!/usr/bin/perl
package Foo;
sub bar {
   print "Hello $_[0]\n"
}
sub blat {
   print "World $_[0]\n"
}
1;

關於 Perl 模組的一些重要要點

  • 函式 requireuse 將載入模組。
  • 兩者都使用 @INC 中的搜尋路徑列表來查詢模組。
  • 這兩個函式 requireuse 都呼叫 eval 函式來處理程式碼。
  • 底部的 1; 使 eval 的結果為 TRUE(因此不會失敗)。

Require 函式

可以透過如下方式呼叫 require 函式載入模組:

#!/usr/bin/perl
require Foo;
Foo::bar( "a" );
Foo::blat( "b" );

您可能已經注意到,必須使用完全限定的名稱來呼叫子程式。最好將子程式 barblat 匯入到我們自己的名稱空間中,這樣我們就不必使用 Foo:: 限定符。

Use 函式

可以透過呼叫 use 函式載入模組。

#!/usr/bin/perl
use Foo;
bar( "a" );
blat( "b" );

請注意,我們不必使用包的函式的完全限定名稱。use 函式將在模組內部新增一些語句後,從模組中匯出符號列表。

require Exporter;
@ISA = qw(Exporter);

然後,透過填充名為 @EXPORT 的列表變數來提供符號列表(標量、列表、雜湊、子程式等):例如:

package Module;
require Exporter;
@ISA = qw(Exporter);
@EXPORT = qw(bar blat);
sub bar { print "Hello $_[0]\n" }
sub blat { print "World $_[0]\n" }
sub splat { print "Not $_[0]\n" } # Not exported!
1;

安裝 Perl 模組

下載 tar.gz 檔案格式的 Perl 模組。使用以下序列安裝任何已下載為 Person.tar.gz 檔案的 Perl 模組 Person.pm

tar xvfz Person.tar.gz
cd Person
perl Makefile.PL
make
make install

Perl 直譯器有一個目錄列表,用於搜尋模組(全域性陣列 @INC)。

更新於: 2019-12-02

184 次瀏覽

開啟您的 職業生涯

透過完成課程獲得認證

開始學習
廣告
© . All rights reserved.