Perl: Что такое C <our>? - PullRequest
       0

Perl: Что такое C <our>?

6 голосов
/ 25 января 2011

Я в процессе обучения самому Perl. Я использую отладчик EPIC в Eclipse. Всякий раз, когда я использую var только один раз в подпрограмме, я получаю это предупреждение:
Типографские ошибки часто отображаются как уникальные имена переменных. Если у вас была веская причина для уникального имени, просто упомяните его еще раз как-то подавить сообщение. C<our> декларация предусмотрено для этой цели.
Что такое C<our>? Стандартный поиск не дал результатов.

Ответы [ 3 ]

11 голосов
/ 25 января 2011
  • Что касается части C<>, которая могла вас смущать, похоже, что EPIC взяла текст в формате POD и распечатала его в необработанном виде, вместо того, чтобы преобразовывать его из POD в форматированный текст.

    C<our> в синтаксисе POD означает «Печатать текст« наш », отформатированный как код», обычно означая моноширинный шрифт. Это похоже на команду StackOverflow `our`, окруженную символом backtick используемый вами собственный вопрос.

  • Сама ошибка происходит от модуля Perl diagnostics, который предоставляет расширенные объяснения для некоторых довольно загадочных предупреждений Perl (в данном случае, " Name"% s ::% s "используется только один раз: возможная опечатка "). Фактически, судя по форматированию POD, которое вас смутило, EPIC, вероятно, использует исходный POD , из которого был сгенерирован вышеупомянутый документ "perldiag" .

  • Если вы спрашиваете, что делает our, вы должны прочитать perldoc -f our - это способ создать псевдоним глобальной переменной, действующей в данной области (см. подробности).

  • Что касается техники поиска в данном случае, когда вы ищете именно то, что ожидаете от Perl-ключевых слов, то всегда платите Google за «perldoc someKeyword».

5 голосов
/ 25 января 2011

our - псевдоним лексической области действия глобальной переменной.

2 голосов
/ 25 января 2011

Это сообщение Perl::Critic, предлагающее использовать our $var; для определения переменной :-) по описанной причине.

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