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 ) ;
特別重要的是在模組中執行此操作,以避免懲罰所有使用它們的應用程式。