При использовании модуля Net :: OpenID :: Consumer я получаю несколько предупреждений из прагмы полей.
Name "module::FIELDS" used only once
немного исследуя, я обнаружил, что эта прагма рекурсивно пересекает дерево наследования и ищет ПОЛЯ.тем не менее, если этот модуль использует, например, Exporter, а поля выглядят для Exporter только один раз, он вызывает это предупреждение.
Кроме того, из четырех предупреждений три фактически являются базовыми классами других классов, (например, Exporter, Tie :: Hash), но четвертым является 'Cache :: RemovalStrategy :: LRU', который по некоторым причинам включает в себя:
use fields qw();
По-видимому, он вызывает поля для исследования модуля, но не длясоздать хеш FIELDS
Итак, как мне избавиться от этих предупреждений?
Редактировать: с помощью Perl 5.10.0 на MacOSX
Редактировать: Исправлено имя модуля Net :: OpenID =>Net :: OpenID :: Потребитель