Как избавиться от "Имя... используется только один раз: возможно опечатать..."?

use YAML::XS;
local $YAML::XS::DumpCode=1;
...

Name "YAML::XS::DumpCode" used only once: possible typo at ..

Хорошо, я знаю, что могу подавить это конкретное предупреждение, но это некрасиво. Я что-то делаю неправильно? Я не привык быть предупрежденным:)

Ответ 1

Кажется, что $YAML::XS::DumpCode используется только из кода C, и он никогда не инициализируется в YAML/XS.pm (он есть, но прокомментирован). Таким образом, это может быть ошибкой для представления этого модуля.

В то же время no warnings 'once'; должен выполнить трюк.

Ответ 2

Нет глобальной переменной, объявленной с именем $YAML::XS::DumpCode. Эта конфигурация находится в классе YAML, поэтому вы должны установить ее с помощью local $YAML::DumpCode = 1;: см. документацию.