Я использую модуль Encode.pm от Perl, загружаемый непосредственно из CPAN (я обновил его до последней версии, 2.84, и он работает на Perl 5.10.1 на RHEL). Как я использую его, он выдает предупреждения о строках 111, 115, и 172 из Encode.pm, которые выглядят следующим образом:Отключить предупреждения 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 затрудняет мне выявление предупреждений, генерируемых моим собственным кодом, поскольку я пытаюсь отлаживать Это. Он также бесполезен в журналах веб-сервера.
https://metacpan.org/source/DANKOGAI/Encode-2.84/Encode.pm#L186 Существует только предупреждение, если вы используете модуль неправильно. Предупреждение об отключении - это плохая идея и в этом случае. – mob
Я бы рекомендовал вам опубликовать минимальный пример, который выдает предупреждение. См. [Как создать минимальный, полный и проверенный пример] (http://stackoverflow.com/help/mcve) –