2010-11-27 8 views
0

Я заметил, что много Pod имеют пустые строки между строками, такими какКогда пустые строки необходимы в Perl POD документации

code 

    =head1 DESCRIPTION 

    text 

ли эти пустые строки строго необходимы, не конкретные парсерами расстраиваться, если это отсутствует.

Описания для вырезать в perlpod помогает немного, но мне было интересно, о других конструкциях:

Чтобы закончить блок Pod, используйте пустую строку, затем строку, начинающуюся с «= сокращение ", и пустая строка после него. Это позволяет Perl (и формату Pod ) знать, что это то, где код Perl возобновляется. (The пустая строка перед «= разрезом» не является технически необходимым, но многие старые процессоры Pod требуют.)

ответ

5

perldoc perlpod говорит, что «каждая команда нуждается в пустую строку после этого, чтобы закончить свой пункт »и« Многие старшие переводчики Pod требуют строк перед каждой командой Pod и после того, как каждая команда Pod (включая «= cut»!) будет пустой строкой ».

Пункты обозначены пустыми строками, поэтому мне трудно представить начальный параграф без пустой строки, непосредственно предшествующей ей. Может быть, в начале файла?

Обратите внимание, что в Perl 6, Pod переопределяется так, что пустые строки вокруг команд (до и после) больше не нужны.

+0

@justintime, @ephemient: Действительно, когда-то можно было использовать это, чтобы обмануть все, что угодно, как для компилятора, так и для подлатера, поскольку у них есть разные критерии для определения того, следует ли и как рассматривать подпозиции. – tchrist

+0

= D @ tchrist: man, в 1993 году это была самая крутая вещь, когда-либо имевшая perl-скрипт, который также был его собственной страницей! = D – Ether

+0

@Ether: Или в 1989 году. Обратите внимание, как «зажигается», в то время как 1' не вызывает никаких предупреждений. Это поддержка 'troff' через' wrapman'. – tchrist

3

Пожалуйста, обратите внимание, что POD имеет понятие «пунктов»: это то, начиная после пробела (читай: пусто) линии, с единственным исключением начала файла, который также начинает абзац. Это означает, что особенно команде (например, = head1) должна предшествовать пустая строка; END не является пустой линией.

  • см perlpodspec также, вы будете найти причину, почему пустые строки необходимо.
Смежные вопросы