目錄

名稱

perlexperiment - Perl 中實驗功能的清單

說明

此文件列出 perl 核心中的現有和過往實驗功能。雖然所有這些功能都已在適當的主題中說明,但此簡潔的清單可讓您概覽其狀態和基本事實。

到目前為止,我們僅嘗試找出並列出實驗性功能,並推論其開端、版本等。這裡有很多臆測。

目前的實驗

智慧比對 (~~)

於 Perl 5.10.0 中引入

於 Perl 5.10.1、5.12.0 中修改

於 5.38.0 中棄用

將於 5.42.0 中移除

使用此功能會觸發 deprecated 類別的警告。

此實驗的票證為 [perl #13173]

可插入關鍵字

於 Perl 5.11.2 中引入

請參閱 "perlapi 中的 PL_keyword_plugin" 以了解機制。

此實驗的票證為 [perl #13199]

透過參照別名

於 Perl 5.22.0 中引入

使用此功能會觸發 experimental::refaliasing 類別的警告。

此實驗的票證為 [perl #14150]

另請參閱:"perlref 中的指派至參照"

"const" 屬性

於 Perl 5.22.0 中引入

使用此功能會觸發 experimental::const_attr 類別的警告。

此實驗的票證為 [perl #14428]

另請參閱:"perlsub 中的常數函式"

使用 re 'strict';

於 Perl 5.22.0 中引入

使用此功能會觸發 experimental::re_strict 類別的警告。

此實驗的票證為 [perl #18755]

請參閱 "re 中的 'strict' 模式"

宣告變數的參照

於 Perl 5.26.0 中引入

使用此功能會觸發 experimental::declared_refs 類別的警告。

此實驗的票證為 [perl #15458]

另請參閱:perlref 中的「宣告變數的參考」

Makefile 中有一個 installhtml 目標。

此實驗的票證為 [perl #12726]

(限制) 變長回顧

在 Perl 5.30.0 中引入。

處理長度最多 255 個字元的變異性。

使用此功能會觸發 experimental::vlb 類別的警告。

此實驗的票證為 [perl #18756]

另請參閱:perlre 中的「(*positive_lookbehind:pattern)」perlre 中的「(*negative_lookbehind:pattern)」

Unicode 私用字元掛鉤

在 Perl 5.30.0 中引入。

此功能是介面的一部分,供 perl5 開發人員內部和實驗性使用。您不太可能在野外遇到它。

使用此功能會觸發 experimental::private_use 類別的警告。

此實驗的票證為 [perl #18758]

Unicode 屬性萬用字元

在 Perl 5.30.0 中引入。

此功能允許更簡潔地表示針對 Unicode 字元屬性的正規表示式比對。

使用此功能會觸發 experimental::uniprop_wildcards 類別的警告。

此實驗的票證為 [perl #18759]

try/catch 控制結構

在 Perl 5.34.0 中引入。

使用此功能會觸發 experimental::try 類別的警告。

此實驗的票證為 [perl #18760]

在子常式簽章中使用 @_

在 Perl 5.36.0 中引入,作為減少實驗性子常式簽章範圍的一部分。

在使用簽章的子常式中使用預設引數陣列 (@_) 會發出 experimental::args_array_with_signatures 類別的警告。這包括 @_ 本身、其元素(例如 $_[$index])或隱式存取預設引數陣列的情況(例如沒有引數的 shiftpop)。

具有多個反覆變數的 for 迴圈

在 Perl 5.36.0 中引入。

使用此功能會觸發 experimental::for_list 類別的警告。

此功能可為 for 啟用括號內的反覆變數清單,而非單一變數。

此實驗的單據為 [perl #18744]

內建命名空間

在 Perl 5.36.0 中引入。

使用此功能會觸發 experimental::builtin 類別中的警告。

在 Perl 5.36.0 中,已為不會出現在每個命名空間,但可供匯入的新核心函式建立一個新的命名空間 builtin。命名空間本身被視為一項實驗。其中特定的函式也可能是實驗性質的。

此實驗的單據為 [perl #19764]

遞延區塊修改器

在 Perl 5.36.0 中推出

使用此功能會觸發 experimental::defer 類別中的警告。

此功能新增一種新的區塊,即 defer 區塊,此區塊不會執行,直到包含的區塊要結束時才會執行。

此實驗的單據為 [perl #17949]

引號類運算子的額外配對分隔符號

在 Perl 5.36.0 中推出

使用此功能會觸發 experimental::extra_paired_delimiters 類別中的警告。

此功能允許多對非 ASCII 的鏡像分隔符號,例如

my @array = qw« tinker tailer soldier spy »;

此實驗的單據為 [perl #19765]

已接受的功能

這些功能非常成功,而且與其他功能搭配得很好,因此我們決定移除其實驗性質,並將其視為 Perl 世界中完全穩定的功能,提供所有相關的優點和豪華功能。它們也獲得了 +5 穩定性和 +3 魅力。

64 位元組支援

在 Perl 5.005 中引入

die 接受參考

在 Perl 5.005 中引入

DB 模組

在 Perl 5.6.0 中引入

另請參閱 perldebugperldebtut

弱參考

在 Perl 5.6.0 中引入

內部檔案 glob

在 Perl 5.6.0 中引入

fork() 模擬

在 Perl 5.6.1 中引入

另請參閱 perlfork

-Dusemultiplicity -Duseithreads

在 Perl 5.6.0 中引入

在 Perl 5.8.0 中接受

支援長雙精度

在 Perl 5.6.0 中引入

在 Perl 5.8.1 中接受

\N regex 字元類別

\N 字元類別(不要與命名字元序列 \N{NAME} 混淆),表示正規表示式中的任何非換行字元。

在 Perl 5.12 中引入

接受的確切版本不明確,但最晚不會晚於 Perl 5.18。

(?{code})(??{ code })

在 Perl 5.6.0 中引入

在 Perl 5.20.0 中接受

另請參閱 perlre

Linux 抽象 Unix 域端點

在 Perl 5.9.2 中引入

在 Perl 5.20.0 之前接受。Socket 函式庫現在主要在 CPAN 上維護,而不是在 perl 核心程式中。

另請參閱 Socket

左值子常式

在 Perl 5.6.0 中引入

在 Perl 5.20.0 中接受

另請參閱 perlsub

回溯控制動詞

(*ACCEPT)

Perl 5.10 中引入

在 Perl 5.20.0 中接受

:pop IO 偽層

另請參閱 "perlrun 中的 PERLIO"

在 Perl 5.20.0 中接受

regexp 中的 \s 會比對垂直分頁

Perl 5.22.0 中接受

後置解除參考語法

Perl 5.20.0 中引入

Perl 5.24.0 中接受

字彙子常式

Perl 5.18.0 中引入

Perl 5.26.0 中接受

字串和數字專用位元運算子

於 Perl 5.22.0 中引入

Perl 5.28.0 中接受

字母斷言

Perl 5.28.0 中引入

Perl 5.32.0 中接受

腳本執行

Perl 5.28.0 中引入

Perl 5.32.0 中接受

中置 isa 運算子

Perl 5.32.0 中引入

Perl 5.36.0 中接受

子常式簽章

Perl 5.20.0 中引入

Perl 5.36.0 中接受

正規表示式集合運算

Perl 5.18 中引入

Perl 5.36 中接受

請參閱:"perlrecharclass 中的 Extended Bracketed Character Classes"

已移除功能

這些功能不再被視為實驗性質,它們的功能已消失。如果您在我們明確告知您不要使用這些功能後,仍使用這些功能撰寫生產程式,那是您自己的錯(請參閱 perlpolicy)。

5.005 風格執行緒

在 Perl 5.005 中引入

已在 Perl 5.10 中移除

perlcc

在 Perl 5.005 中引入

已從 Perl 5.9.0 移至 CPAN

偽雜湊資料類型

在 Perl 5.6.0 中引入

已在 Perl 5.9.0 中移除

GetOpt::Long 選項現在可以一次接受多個值(實驗性質)

Getopt::Long 已升級至版本 2.35

已在 Perl 5.8.8 中移除

斷言

-A 命令列開關

已在 Perl 5.9.0 中引入

已在 Perl 5.9.5 中移除

Test::Harness::Straps

已從 Perl 5.10.1 移至 CPAN

legacy

實驗性質的 legacy pragma 已被 feature pragma 取代。

於 Perl 5.11.2 中引入

已在 Perl 5.11.3 中移除

字彙 $_

使用此功能會觸發 experimental::lexical_topic 類別的警告。

於 Perl 5.10.0 中引入

已在 Perl 5.24.0 中移除

陣列和雜湊容器函式接受參照

使用此功能會觸發 experimental::autoderef 類別的警告。

已被 "後綴解除參照語法" 取代。

已在 Perl 5.14.0 中引入

已在 Perl 5.24.0 中移除

our 可以有一個實驗性質的選用屬性 unique

已在 Perl 5.8.0 中引入

Perl 5.10.0 中已棄用

Perl 5.28.0 中已移除

:win32 IO 偽層

Perl 5.8.0(或更早版本)中引入

Perl 5.36.0 中已移除

另請參閱

如需完整功能清單,請查看 功能

作者

brian d foy <brian.d.foy@gmail.com>

Sébastien Aperghis-Tramoni <saper@cpan.org>

著作權

著作權所有 2010,brian d foy <brian.d.foy@gmail.com>

授權

您可以在與 Perl 相同的條款下使用和重新散布此文件。