內容

名稱

English - 使用好記的英文(或 awk)名稱來取代醜陋的標點符號變數

語法

use English;
use English qw( -no_match_vars ) ;  # Avoids regex performance
                                    # penalty in perl 5.18 and
                                    # earlier
...
if ($ERRNO =~ /denied/) { ... }

說明

此模組提供內建變數的別名,這些變數的名稱似乎沒人喜歡閱讀。會因為存取而觸發副作用的變數(例如 $0)仍會受到影響。

對於具有awk版本的變數,會提供長英文和短英文的替代名稱。例如,如果你使用 English 模組,$/變數可以稱為 $RS 或 $INPUT_RECORD_SEPARATOR。

請參閱perlvar以取得這些變數的完整清單。

效能

注意:這已在 perl 5.20 中修正。提到這三個變數不再會造成速度差異。如果你的程式碼要在 perl 5.18 或更早版本執行,則此區段仍然適用。

這個模組會因為不幸的實作細節,而導致正規表示式產生相當大的低效率。如果效能對您的應用程式很重要,而且您不需要 $PREMATCH、$MATCH 或 $POSTMATCH,請嘗試執行

use English qw( -no_match_vars ) ;

特別重要的是在模組中執行此操作,以避免懲罰所有使用它們的應用程式。