Perl 中的包是什麼?


在 Perl 中,package 語句將當前命名上下文切換到指定的名稱空間(符號表)。因此,

  • 包是一組程式碼,存在於其自身的名稱空間中。
  • 名稱空間是有序集合的唯一變數名稱(又稱為符號表)。
  • 名稱空間可以防止不同包之間的變數名衝突。
  • 包支援模組的構建,在使用模組時,不會破壞模組自身名稱空間之外的變數和函式。
  • 包持續有效,直到呼叫另一個包語句,或者直到當前塊或檔案的末尾。
  • 可以使用 :: 包限定符顯式引用包中的變數。

下面是一個檔案中包含主包和 Foo 包的示例。這裡使用特殊的變數 __PACKAGE__ 來列印包名稱。

示例

 實際演示

#!/usr/bin/perl

# This is main package
$i = 1;
print "Package name : " , __PACKAGE__ , " $i\n";
package Foo;

# This is Foo package
$i = 10;
print "Package name : " , __PACKAGE__ , " $i\n";
package main;

# This is again main package
$i = 100;
print "Package name : " , __PACKAGE__ , " $i\n";
print "Package name : " , __PACKAGE__ , " $Foo::i\n";
1;

輸出

當執行上述程式碼時,它將生成以下結果 −

Package name : main 1
Package name : Foo 10
Package name : main 100
Package name : main 10

更新日期: 2019 年 12 月 2 日

244 次觀看

開啟您的 職業生涯

完成課程,獲得認證

開始
廣告
© . All rights reserved.