我使用Perl的Encode.pm模塊,直接從CPAN下載(我已更新到最新版本2.84,並且它在RHEL上的Perl 5.10.1上運行)。當我使用它,它會發出約111線,115警告和Encode.pm 172看起來像這樣:禁用Encode.pm的警告
Use of uninitialized value $name in concatenation (.) or string at /usr/lib64/perl5/Encode.pm line 186.
這是相當令人沮喪,因爲該警告似乎是關於Encode.pm東西,而比我的代碼,我真的只想看到我的代碼警告。我沒有打開「-w」標誌,但Encode.pm自身內部已啓用use warnings
。有沒有辦法隱藏模塊的警告或以其他方式修復這種情況,而不必分叉Encode.pm?
我知道靜音警告在某些方面可能是一個壞主意,但來自Encode.pm的大量警告使我很難發現由我自己的代碼生成的警告,因爲我試圖調試它。這在Web服務器日誌中也是不必要的麻煩。
https://metacpan.org/source/DANKOGAI/Encode-2.84/Encode.pm#L186 只有如果您使用的模塊錯誤,則爲警告。在這種情況下,屏蔽警告也是一個糟糕的主意。 – mob
我建議您發佈一個發佈警告的最小示例。請參閱[如何創建最小,完整和可驗證的示例](http://stackoverflow.com/help/mcve) –