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
廣告
資料結構
網路
RDBMS
作業系統
Java
iOS
HTML
CSS
Android
Python
C 程式設計
C++
C#
MongoDB
MySQL
Javascript
PHP