目錄

名稱

perl5101delta - perl v5.10.1 的新增功能

說明

本文檔說明 5.10.0 和 5.10.1 版本之間的差異。

如果您要從較早的版本(例如 5.8.8)升級,請先閱讀 perl5100delta,其中說明了 5.8.8 和 5.10.0 之間的差異

不兼容變更

switch 陳述式變更

given/when switch 陳述式增強了對複雜表達式的處理。有兩個新情況,when 現在會將其參數解釋為布林值,而不是用於智慧比對的表達式

flip-flop 運算子

..... flip-flop 運算子現在會在布林值脈絡中評估,遵循其慣用語意;請參閱 perlop 中的「範圍運算子」

請注意,就像在 perl 5.10.0 中,when (1..10) 無法用來測試給定值是否為 1 到 10 之間的整數;您應該改用 when ([1..10])(請注意陣列參考)。

然而,與 5.10.0 相反,在布林值脈絡中評估 flip-flop 運算子可確保它現在可以在 when() 中使用,特別是實作雙穩態條件,例如

when (/^=begin/ .. /^=end/) {
  # do something
}
defined-or 運算子

包含 defined-or 運算子的複合表達式,例如 when (expr1 // expr2),如果第一個表達式為布林值,將會被視為布林值。(這只是擴充套件套用於一般 or 運算子的現有規則,例如 when (expr1 || expr2)。)

下一節詳細說明對智慧比對運算子語意的更多變更,這些變更自然也會修改隱含使用智慧比對的 switch 陳述式的行為。

智慧比對變更

基於類型的調度變更

智慧比對運算子 ~~ 不再是可交換的。智慧比對的行為現在主要取決於其右運算元的類型。此外,其語意已調整,在多種情況下更一致或更有用。雖然維持了整體向後相容性,但必須注意以下變更

智慧比對算子的完整調度表在 perlsyn 中的「智慧比對詳細資料」 中提供。

智慧比對和重載

根據基於最右邊引數類型進行調度的規則,當重載 ~~ 的物件出現在算子的右側時,重載常式會永遠被呼叫(第 3 個引數設定為真值,請參閱 重載)。不過,當物件出現在左側時,只有當最右邊的引數是簡單純量時,才會呼叫重載常式。這樣一來,智慧比對在陣列中的可分配性就不會中斷,而其他與複雜類型(程式碼參考、雜湊、正規表示式)的行為也不會中斷。因此,智慧比對的重載常式撰寫者大多只需要擔心與純量進行比較,以及可能與字串化重載進行比較;其他常見案例會自動以一致的方式處理。

~~ 現在會拒絕處理未重載它的物件(為了避免依賴物件的底層結構)。(不過,如果物件重載字串化或數字化算子,而且重載備援處於啟用狀態,則會像往常一樣改用備援。)

其他不相容變更

核心增強功能

Unicode 字元資料庫 5.1.0

包含在 Perl 5.10.1 中的 Unicode 字元資料庫副本已從 5.0.0 更新到 5.1.0。有關顯著變更,請參閱 http://www.unicode.org/versions/Unicode5.1.0/#Notable_Changes

可插入式方法解析順序的適當介面

從 Perl 5.10.1 開始,有一個新的介面可用於插入和使用除預設值(線性深度優先搜尋)之外的方法解析順序。在 5.10.0 中新增的 C3 方法解析順序已重新實作為外掛程式,而不會變更其 Perl 空間介面。有關更多資訊,請參閱 perlmroapi

overloading pragma

此 pragma 允許您針對部分或全部運算詞彙法地停用或啟用重載。(Yuval Kogman)

並行測試

核心發行版現在可以在類 Unix 平台上並行執行其回歸測試。請勿執行 make test,而是將環境中的 TEST_JOBS 設定為要並行執行的測試數量,並執行 make test_harness。在類 Bourne 的 shell 中,可以這樣做

TEST_JOBS=3 make test_harness  # Run 3 tests in parallel

使用環境變數,而不是並行 make 本身,因為 TAP::Harness 本身需要能夠排程個別非衝突的測試指令碼,而且沒有標準介面可供 make 工具程式與其工作排程器互動。

請注意,目前有些測試指令碼在並行執行時可能會失敗(最顯著的是 ext/IO/t/io_dir.t)。如有必要,請再次循序執行失敗的指令碼,並查看失敗是否消失。

DTrace 支援

已新增一些 DTrace 支援。請參閱 INSTALL 中的「DTrace 支援」。

CPAN 模組中支援 configure_requires

CPANCPANPLUS 現在都支援大多數最新 CPAN 發行版中包含的 META.yml 中繼資料檔案中的 configure_requires 關鍵字。這允許發行版作者指定在執行 Makefile.PLBuild.PL 之前必須安裝的組態先決條件。

請參閱 ExtUtils::MakeMakerModule::Build 的文件,以進一步瞭解在為 CPAN 建立發行版時如何指定 configure_requires

模組和實用程式

新增模組和實用程式

autodie

這是 Fatal 模組的新的詞彙範圍替代方案。已套件版本為 2.06_01。請注意,在此版本中,在 autodie 生效時使用字串 eval 可能會導致 autodie 行為外洩到周圍的範圍。請參閱 autodie 中的「BUGS」 以取得更多詳細資料。

Compress::Raw::Bzip2

已新增至核心(版本 2.020)。

parent

此實用程式在編譯時建立與基底類別的 ISA 關係。它提供 base 的主要功能,但沒有功能蔓延。

Parse::CPAN::Meta

已新增至核心(版本 1.39)。

實用程式變更

attributes

已從版本 0.08 升級至 0.09。

attrs

已從版本 1.02 升級至 1.03。

base

已從版本 2.13 升級至 2.14。請參閱 parent 以取得替代方案。

bigint

已從版本 0.22 升級至 0.23。

bignum

已從版本 0.22 升級至 0.23。

bigrat

已從版本 0.22 升級至 0.23。

charnames

已從版本 1.06 升級至 1.07。

已新增 Unicode NameAliases.txt 資料庫檔案。這會新增一些額外的 \N 字元名稱,這些名稱以前無法辨識;例如,"\N{LATIN CAPITAL LETTER GHA}"

constant

已從版本 1.13 升級至 1.17。

feature

:5.10:5.10.X 功能套件的意義已略有變更。最後一個元件(如果有的話,即 X)會直接略過。此舉預設新的功能通常不會新增至維護版本。因此,:5.10:5.10.X 具有相同的效果。這是對 5.10.0 所記載行為的變更。

fields

已從版本 2.13 升級至 2.14(這只是版本升級;沒有任何功能變更)。

lib

已從版本 0.5565 升級至 0.62。

open

已從版本 1.06 升級至 1.07。

overload

已從版本 1.06 升級至 1.07。

overloading

請參閱上方的「overloading pragma」。

version

已從版本 0.74 升級至 0.77。

已更新的模組

Archive::Extract

已從版本 0.24 升級至 0.34。

Archive::Tar

已從版本 1.38 升級至 1.52。

Attribute::Handlers

已從版本 0.79 升級至 0.85。

AutoLoader

已從版本 5.63 升級至 5.68。

AutoSplit

已從版本 1.05 升級至 1.06。

B

已從版本 1.17 升級至 1.22。

B::Debug

已從版本 1.05 升級至 1.11。

B::Deparse

已從版本 0.83 升級至 0.89。

B::Lint

已從版本 1.09 升級至 1.11。

B::Xref

已從版本 1.01 升級至 1.02。

Benchmark

已從版本 1.10 升級至 1.11。

Carp

已從版本 1.08 升級至 1.11。

CGI

已從版本 3.29 升級至 3.43。(也包含 3.45 中的「popup_menu() 的預設值」修正程式)。

Compress::Zlib

從版本 2.008 升級至 2.020。

CPAN

從版本 1.9205 升級至 1.9402。CPAN::FTP 有個本機修正,可避免下載失敗時過於冗長。

CPANPLUS

從版本 0.84 升級至 0.88。

CPANPLUS::Dist::Build

從版本 0.06_02 升級至 0.36。

Cwd

從版本 3.25_01 升級至 3.30。

Data::Dumper

從版本 2.121_14 升級至 2.124。

DB

已從版本 1.01 升級至 1.02。

DB_File

從版本 1.816_1 升級至 1.820。

Devel::PPPort

從版本 3.13 升級至 3.19。

Digest::MD5

從版本 2.36_01 升級至 2.39。

Digest::SHA

從版本 5.45 升級至 5.47。

DirHandle

從版本 1.01 升級至 1.03。

Dumpvalue

從版本 1.12 升級至 1.13。

DynaLoader

從版本 1.08 升級至 1.10。

Encode

從版本 2.23 升級至 2.35。

Errno

已從版本 1.10 升級至 1.11。

Exporter

從版本 5.62 升級至 5.63。

ExtUtils::CBuilder

從版本 0.21 升級至 0.2602。

ExtUtils::Command

從版本 1.13 升級至 1.16。

ExtUtils::Constant

從 0.20 升級至 0.22。(請注意,這兩個版本都不在 CPAN 上提供。)

ExtUtils::Embed

從版本 1.27 升級至 1.28。

ExtUtils::Install

從版本 1.44 升級至 1.54。

ExtUtils::MakeMaker

從版本 6.42 升級至 6.55_02。

請注意,ExtUtils::MakeMaker::bytesExtUtils::MakeMaker::vmsish 已從此發行版本中移除。

ExtUtils::Manifest

從版本 1.51_01 升級到 1.56。

ExtUtils::ParseXS

從版本 2.18_02 升級到 2.2002。

Fatal

從版本 1.05 升級到 2.06_01。另請參閱新的 pragma autodie

File::Basename

從版本 2.76 升級到 2.77。

File::Compare

從版本 1.1005 升級到 1.1006。

File::Copy

從版本 2.11 升級到 2.14。

File::Fetch

從版本 0.14 升級到 0.20。

File::Find

從版本 1.12 升級到 1.14。

File::Path

從版本 2.04 升級到 2.07_03。

File::Spec

從版本 3.2501 升級到 3.30。

File::stat

從版本 1.00 升級到 1.01。

File::Temp

從版本 0.18 升級到 0.22。

FileCache

從版本 1.07 升級到 1.08。

FileHandle

從版本 2.01 升級到 2.02。

Filter::Simple

從版本 0.82 升級到 0.84。

Filter::Util::Call

從版本 1.07 升級到 1.08。

FindBin

從版本 1.49 升級到 1.50。

GDBM_File

從版本 1.08 升級到 1.09。

Getopt::Long

從版本 2.37 升級到 2.38。

Hash::Util::FieldHash

從版本 1.03 升級到 1.04。這修正了一個記憶體外洩問題。

I18N::Collate

從版本 1.00 升級到 1.01。

IO

從版本 1.23_01 升級到 1.25。

這讓非封鎖模式可以在 IO::Socket::INET [CPAN #43573] 中於 Windows 上運作。

IO::Compress::*

從版本 2.008 升級至 2.020。

IO::Dir

已從版本 1.06 升級至 1.07。

IO::Handle

從版本 1.27 升級至 1.28。

IO::Socket

從版本 1.30_01 升級到 1.31。

IO::Zlib

從版本 1.07 升級到 1.09。

IPC::Cmd

從版本 0.40_1 升級到 0.46。

IPC::Open3

從版本 1.02 升級到 1.04。

IPC::SysV

從版本 1.05 升級到 2.01。

lib

已從版本 0.5565 升級至 0.62。

List::Util

從版本 1.19 升級到 1.21。

Locale::MakeText

從版本 1.12 升級至 1.13。

Log::Message

從版本 0.01 升級到 0.02。

Math::BigFloat

從版本 1.59 升級到 1.60。

Math::BigInt

從版本 1.88 升級到 1.89。

Math::BigInt::FastCalc

從版本 0.16 升級到 0.19。

Math::BigRat

從版本 0.21 升級到 0.22。

Math::Complex

從版本 1.37 升級到 1.56。

Math::Trig

從版本 1.04 升級到 1.20。

Memoize

從版本 1.01_02 升級到 1.01_03(僅為次要文件變更)。

Module::Build

從版本 0.2808_01 升級到 0.34_02。

Module::CoreList

從版本 2.13 升級到 2.18。此版本不再包含 %Module::CoreList::patchlevel hash。

Module::Load

從版本 0.12 升級到 0.16。

Module::Load::Conditional

從版本 0.22 升級到 0.30。

Module::Loaded

從版本 0.01 升級到 0.02。

Module::Pluggable

從版本 3.6 升級到 3.9。

NDBM_File

從版本 1.07 升級到 1.08。

Net::Ping

從版本 2.33 升級到 2.36。

NEXT

從版本 0.60_01 升級到 0.64。

Object::Accessor

從版本 0.32 升級到 0.34。

OS2::REXX

從版本 1.03 升級到 1.04。

Package::Constants

從版本 0.01 升級到 0.02。

PerlIO

從版本 1.04 升級到 1.06。

PerlIO::via

從版本 0.04 升級到 0.07。

Pod::Man

從版本 2.16 升級到 2.22。

Pod::Parser

從版本 1.35 升級到 1.37。

Pod::Simple

從版本 3.05 升級到 3.07。

Pod::Text

從版本 3.08 升級到 3.13。

POSIX

已從版本 1.13 升級至 1.17。

Safe

從 2.12 升級到 2.18。

Scalar::Util

從版本 1.19 升級到 1.21。

SelectSaver

從 1.01 升級到 1.02。

SelfLoader

從 1.11 升級到 1.17。

Socket

從 1.80 升級到 1.82。

Storable

從 2.18 升級到 2.20。

Switch

從版本 2.13 升級到 2.14。請參閱 "已不建議使用"

符號

已從版本 1.06 升級至 1.07。

Sys::Syslog

從版本 0.22 升級至 0.27。

Term::ANSIColor

從版本 1.12 升級至 2.00。

Term::ReadLine

從版本 1.03 升級到 1.04。

Term::UI

從版本 0.18 升級至 0.20。

Test::Harness

從版本 2.64 升級至 3.17。

請注意,從 2.x 升級至 3.x 的一個副作用是,實驗性的 Test::Harness::Straps 模組(及其支援的 AssertIteratorPointResults 模組)已移除。如果您仍需要這些模組,它們可以在 CPAN 上的(未維護的)Test-Harness-Straps 套件中取得。

Test::Simple

從版本 0.72 升級至 0.92。

Text::ParseWords

從版本 3.26 升級至 3.27。

Text::Tabs

從版本 2007.1117 升級至 2009.0305。

Text::Wrap

從版本 2006.1117 升級至 2009.0305。

Thread::Queue

從版本 2.00 升級至 2.11。

Thread::Semaphore

從版本 2.01 升級至 2.09。

threads

從版本 1.67 升級至 1.72。

threads::shared

從版本 1.14 升級至 1.29。

Tie::RefHash

從版本 1.37 升級至 1.38。

Tie::StdHandle

此模組有文件變更,並首次指定版本:版本 4.2。

Time::HiRes

從版本 1.9711 升級至 1.9719。

Time::Local

從版本 1.18 升級至 1.1901。

Time::Piece

從版本 1.12 升級至 1.15。

Unicode::Normalize

已從版本 1.02 升級至 1.03。

Unicode::UCD

已從 0.25 版升級至 0.27 版。

charinfo() 現可處理新增至 Unicode 後續版本的統一 CJK 編碼點。

casefold() 已新增回傳欄位,提供更簡潔的介面和先前遺失的資訊。舊欄位已保留,以維持向後相容性。現已回傳有關突厥語系特定編碼點的資訊。

文件已修正並擴充。

UNIVERSAL

已從 1.04 版升級至 1.05 版。

Win32

已從 0.34 版升級至 0.39 版。

Win32API::File

已從 0.1001_01 版升級至 0.1101 版。

XSLoader

已從 0.08 版升級至 0.10 版。

公用程式變更

h2ph

現也會在 include-fixed 中尋找,這是 gcc 搜尋路徑最近新增的項目。

h2xs

不再錯誤地將列舉值當成巨集處理 (Daniel Burr)。

現已在列舉中正確處理 C++ 風格常數 (//)。(使用了 Rainer Weikusat 提供的修補程式;Daniel Burr 也提出了類似的修正建議)。

perl5db.pl

LVALUE 子程式現可在偵錯程式中運作。

偵錯程式現已正確處理代理常數子程式和子程式 stub。

perlthanks

Perl 5.10.1 新增了一個公用程式 perlthanks,這是 perlbug 的變體,但用於向 Perl 的作者和維護人員傳送非錯誤報告。只收到錯誤報告可能會令人有些沮喪:我們將看看這是否能改變現況。

新文件

perlhaiku

其中包含如何為 Haiku 平台建置 perl 的說明。

perlmroapi

其中說明了可插入方法解析順序的新介面。

perlperf

這份文件由 Richard Foley 所撰寫,其中介紹了效能和最佳化技術的使用,特別是針對 perl 程式。

perlrepository

其中說明了如何使用 git 版本控制系統存取 perl 原始碼。

perlthanks

這說明新的 perlthanks 程式。

現有文件變更

各種大型 Changes* 檔案(列出過去 18 年來對 perl 進行的每項變更)已被移除,並以一個小檔案取代,也稱為 Changes,它僅說明如何從 git 版本控制系統中擷取相同的資訊。

Porting/patching.pod 檔案已被刪除,因為它主要是說明與舊的 Perforce 為基礎的儲存庫互動,而現在已過時。仍然相關的資訊已移至 perlrepository

perlapiperlinternperlmodlibperltoc 現在都在建置時產生,而不是作為發行的一部分發布。

效能增強

安裝和組態改進

ext/ 重新組織

ext 中目錄的配置已進行修改。特別是,所有擴充功能現在都是扁平的,且位於頂層,路徑名稱中的 / 已由 - 取代,因此 ext/Data/Dumper/ 現在是 ext/Data-Dumper/,等等。指定給 Configure 的擴充功能名稱,以及 %Config::Configdynamic_extknown_extensionsnonxs_extstatic_ext 鍵下所報告的名稱並未變更,且仍使用 /。因此,此變更在 perl 安裝後不會有任何影響。但是,Attribute::HandlersSafemro 現在已成為它們自己的擴充功能,因此如果您使用選項執行 Configure 以指定要建置的擴充功能的精確清單,則需要變更它來考量這一點。

對於 5.10.2,計畫將許多雙重生命週期的模組從 lib 移至 ext;這對已安裝的 perl 再次沒有影響,但如果您使用預先設定的擴充功能清單呼叫 Configure,則會有影響。

組態改進

如果 vendorlibvendorarch 相同,則只會將它們新增到 @INC 一次。

如果使用 -Dusedevel 建置 perl,則現在會定義 $Config{usedevel} 和 C 層級的 PERL_USE_DEVEL

如果編譯器支援,則 Configure 會啟用 -fstack-protector 的使用,以提供防範堆疊溢位攻擊的保護。

如果您使用 C++ 編譯器而非 C 編譯器,則 Configure 現在會判斷重新進入函式和 gconvert 的正確原型。

在 Unix 上,如果您從包含 git 儲存庫的樹狀結構建置,則組態程序會記錄您已簽出的提交雜湊,以顯示在 perl -vperl -V 的輸出中。未推送到遠端的本機提交會自動新增到 perl -V 顯示的本機修補程式清單中。

編譯改進

作為 ext 扁平化的部分,所有平台上的所有擴充套件都是由 make_ext.pl 建置的。這取代了 Unix 專用的 ext/util/make_ext、VMS 專用的 make_ext.com 和 Win32 專用的 win32/buildext.pl

特定平台變更

AIX

已移除 AIX 5L 和 6.1 的 libbsdlibbsd 中只有使用 flock()。

已移除 AIX 5L 和 6.1 的 libgdbmlibgdbm 是作為 AIX Toolbox 的選用套件提供的。很不幸的是,64 位元版本已損毀。

提示變更表示 AIX 4.2 應該可以再次運作。

Cygwin

在 Cygwin 上,我們現在會從 DLL 中移除最後一個數字。這已成為 cygwin.com 建置多年的行為。提示檔案已更新。

FreeBSD

提示檔案現在會識別 FreeBSD 7 和更新版本的正確執行緒函式庫。

Irix

我們現在會解決 Irix 6.5 編譯器中一個奇怪的預處理器錯誤:不幸的是,cc -E - 會進入 K&R 模式,但 cc -E file.c 卻不會。

Haiku

已合併 Haiku 維護人員提供的修補程式。Perl 現在應該可以在 Haiku 上建置。

MirOS BSD

Perl 現在應可建置於 MirOS BSD 上。

NetBSD

提示現在支援版本 5.*。

Stratus VOS

已合併 Stratus 的各種變更。

Symbian

現在支援 Symbian S60 3.2 SDK 和 S60 5.0 SDK。

Win32

改善的訊息視窗處理方式表示 alarmkill 訊息將不再在競爭條件下遺失。

VMS

如果將 $/ 設定為數字參考 (以表示記錄樣式讀取),從 PerlIO::scalar 的記憶體中暫存檔案讀取時會失敗。此問題現已修正。

VMS 現在支援 getgrgid

已對 VMS 檔案名稱處理和轉換程式碼進行許多改善和清理。

啟用 PERL_VMS_POSIX_EXIT 邏輯名稱現在會對 VMS 條件值編碼 POSIX 退出狀態,以與 GNV 的 bash shell 和依賴 POSIX 退出值的其它公用程式進行更好的互動。請參閱 "$?" in perlvms 以取得詳細資料。

已選取的錯誤修正

新或變更的診斷

panic: sv_chop %s

當 C 常式 Perl_sv_chop() 傳遞一個不在標量字串緩衝區內的位址時,會發生這個新的致命錯誤。這可能是由有問題的 XS 碼造成的,此時無法復原。

找不到套件 %s 作為 %s 的父層

此警告已移除。通常,它只會與其他警告一起產生,而移除它可以新增 ISA 查詢最佳化。

v-字串在使用中/require 是非可攜的

此警告已移除。

對子常式 "%s" 進行深度遞迴

現在可以透過重新編譯 perl 二進位檔,將此警告的深度閾值從預設的 100 變更,方法是將 C 預處理器巨集 PERL_SUB_DEPTH_WARN 設定為所需的值。

變更的內部

新增測試

從 CPAN 更新的許多模組都包含新的測試。

如果失敗,幾個可能會永遠掛起的測試現在會納入「看門狗」功能,在逾時後將其終止,這有助於確保 make testmake test_harness 自動執行完畢。(Jerry Hedden)

已新增一些核心特定測試

t/comp/retainedlines.t

檢查偵錯器是否可以保留來自 eval 的原始碼行。

t/io/perlio_fail.t

檢查錯誤層會失敗。

t/io/perlio_leaks.t

檢查 PerlIO 層不會洩漏。

t/io/perlio_open.t

檢查某些特殊形式的 open 是否有效。

t/io/perlio.t

PerlIO 一般測試。

t/io/pvbm.t

檢查內部類型 PVBMPVGV 之間沒有意外互動。

t/mro/package_aliases.t

檢查在別名套件存在的情況下,mro 是否正常運作。

t/op/dbm.t

dbmopendbmclose 的測試。

t/op/index_thr.t

index 和執行緒互動的測試。

t/op/pat_thr.t

深奧模式和執行緒互動的測試。

t/op/qr_gc.t

測試 qr 沒有洩漏。

t/op/reg_email_thr.t

正則表達式遞迴和執行緒互動的測試。

t/op/regexp_qr_embed_thr.t

模式和嵌入 qr// 以及執行緒互動的測試。

t/op/regexp_unicode_prop.t

正則表達式中 Unicode 屬性的測試。

t/op/regexp_unicode_prop_thr.t

Unicode 屬性和執行緒互動的測試。

t/op/reg_nc_tie.t

測試 Tie::Hash::NamedCapture 的綁定方法。

t/op/reg_posixcc.t

檢查 POSIX 字元類別是否行為一致。

t/op/re.t

檢查 universal.c 中可匯出的 re 函式是否有效。

t/op/setpgrpstack.t

檢查 setpgrp 是否運作正常。

t/op/substr_thr.t

測試 substr 和執行緒的互動。

t/op/upgrade.t

檢查升級和指定純量是否運作正常。

t/uni/lex_utf8.t

檢查詞法分析器中的 Unicode 是否運作正常。

t/uni/tie.t

檢查 Unicode 和 tie 是否運作正常。

已知問題

以下是部分重大未修復的錯誤清單,這些錯誤是從 5.10.0 或 5.8.x 回歸的。

已棄用

下列項目現已棄用。

致謝

此版本中的一些工作是由 TPF 補助金資助的。

Nicholas Clark 在 2008 年底正式退休,不再擔任維護 pumpking 的職務;然而,實際上他從那時起就投入了許多心力,協助讓 5.10.1 進入適合發布的狀態,包括撰寫了這份 perldelta 的相當一部分。

特別是 Steffen Mueller 和 David Golden 協助讓 CPAN 模組得到改善,並與其核心等效模組同步。

Craig Berry 不知疲倦地讓維護在 VMS 下執行,無論我們為他中斷了多少次。

其他核心提交者貢獻了大部分變更,並套用由列於 AUTHORS 中的數百位貢獻者所發送的大部分修補程式。

(對於所有我未指名的人,在此致歉)。

最後,感謝 Larry Wall,沒有他,這些都不會是必要的。

回報錯誤

如果你發現你認為是錯誤的問題,你可以查看最近張貼到 comp.lang.perl.misc 新聞群組的文章和 http://rt.perl.org/perlbug/ 上的 perl 錯誤資料庫。Perl 首頁 http://www.perl.org/ 上也可能有資訊。

如果你相信你有一個未回報的錯誤,請執行發行版隨附的 perlbug 程式。務必將你的錯誤修剪成一個微小但足夠的測試案例。你的錯誤回報,連同 perl -V 的輸出,將會傳送至 perlbug@perl.org,供 Perl 移植團隊分析。

如果你回報的錯誤具有安全性影響,不適合傳送至公開封存的郵件清單,請將其傳送至 perl5-security-report@perl.org。這會指向一個封閉訂閱的未封存郵件清單,其中包括所有核心提交者,他們將能夠協助評估問題的影響、找出解決方案,並協助協調在 Perl 受支援的所有平台上發布修補程式以減輕或修正問題。請僅將此地址用於 Perl 核心中的安全性問題,而不是用於在 CPAN 上獨立發布的模組。

另請參閱

Changes 檔案,說明如何查看已變更內容的詳盡詳細資料。

INSTALL 檔案,說明如何建置 Perl。

README 檔案,提供一般資訊。

ArtisticCopying 檔案,提供版權資訊。