3
我調試一個Perl腳本,它看起來像這樣(簡化):perl中的語言環境設置是否全局?
#!/usr/bin/perl
use strict;
use warnings;
use Evil::Module;
printf "%.3f\n", 0.1;
此腳本輸出0,100
(注意,
而不是.
)。如果我註釋掉use Evil::Module
聲明,則輸出將爲0.100
。
我相信這與模塊中的區域設置有關。但locale是一個詞彙編譯指示(根據手冊頁),並不在腳本中使用。這裏發生了什麼事?
@Hynek - 你要麼真的討厭JavaScript,不要做任何web開發,或者這是一個幽默的嘗試,或者你需要學會區分語言的一個可能的壞的特徵 - 以及由使用該語言的特定開發人員 - 以及語言本身。 – DVK 2010-07-09 19:43:15
@DVK:你找到了。我不使用JavaScript進行網頁開發。無論如何,我正在開發200k SLOC perl項目,我很清楚我在說什麼。我已經愛上了perl七年以及perl幾千個SLOC,但是我感覺到了。它是$ _,$ @,$ !, $ ?, ...什麼咬你與DESTROY或信號處理程序或其他任何東西。這是一種語言本身的不良特徵。 – 2010-07-09 23:26:10
@Hynek:是的,但不管你有多不喜歡Perl,POSIX語言環境的東西真的是邪惡的。這是相當令人震驚的錯誤觀點,並且會導致成千上萬的應用程序出現問題。 – 2010-07-09 23:51:12