Предупреждение Perl's fields.pm: имя «module :: FIELDS» используется только один раз - PullRequest
0 голосов
/ 23 августа 2011

При использовании модуля 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 :: Потребитель

1 Ответ

2 голосов
/ 23 августа 2011

Нет модуля Net :: OpenID (хотя в этом пространстве имен имеется несколько модулей).

Пожалуйста, покажите код, который вы используете?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...