目錄

名稱

locale - Perl pragma 用於使用或避免內建操作的 POSIX 地區設定

警告

不要在有許多 執行緒 活躍的腳本中使用此 pragma。地區設定並非單一執行緒的區域設定。其他執行緒可能隨時變更地區設定,這至少會導致特定執行緒在非預期的地區設定中執行。在某些平台上,也可能發生區塊錯誤。地區設定變更不一定是明確的;有些操作會導致 perl 自行變更地區設定。只要執行過 "use locale",就會有風險。

語法

@x = sort @y;      # Native-platform/Unicode code point sort order
{
    use locale;
    @x = sort @y;  # Locale-defined sort order
}
@x = sort @y;      # Native-platform/Unicode code point sort order
                   # again

說明

此 pragma 告知編譯器啟用 (或停用) 內建操作的 POSIX 地區設定 (例如,正規表示式的 LC_CTYPE、字串比較的 LC_COLLATE 和數字格式化的 LC_NUMERIC)。每個「use locale」或「no locale」都會影響到封閉區塊結尾的陳述式。

請參閱 perllocale,以取得 Perl 如何支援地區設定的更詳細資訊。

在沒有地區設定的系統上,此 pragma 會讓你的操作表現得好像在「C」地區設定中;變更地區設定的嘗試將會失敗。