POD формат (англ. Plain Old Documentation) — спрощена мова розмітки тексту, що використовується для документування Perl програм.
POD формат розроблявся як проста й водночас практична мова документування. Вона цілеспрямовано не включає механізми для опису шрифтів, зображень, кольорів або таблиць. Основні цілі формату:
PseudoPOD — розширена версія POD формату, що підтримує таблиці та виноски, що називається PseudoPOD, та була розроблена й використана видавництвом O'Reilly & Associates для створення декількох Perl-книг, однією з яких є Programming Perl.
Pod дозволяє легко писати man-довідки для користувачів, на відміну від інших систем документування, таки як Docstring або Javadoc, які більш призначені для розробників й описують початковий код.
POD застосовується для формування більшості документів в Perl-спільноті. Це опис як самого Perl, так й опис майже всіх модулів до нього, статті на Perl.com [Архівовано 30 червня 2005 у Wayback Machine.], а також опис віртуальної машини Parrot.
Хоча документація в POD форматі може бути доволі просто прочитана в своєму первинному вигляді, зазвичай її конвертують в більш читабельні формати засобами perldoc.
Файли в форматі POD мають розширення .pod
Також фрагменти документації в POD форматі, можуть бути безпосередньо в Perl коді, файли якого зазвичай мають розширення .pl
або .pm
. Perl-інтерпретатор розпізнає POD-документацію в коді та ігнорує її.
Нижче приклад коректного за синтаксисом документу в POD форматі з дотриманням прийнятої структури організації в Perl суспільстві документів.[4]
=head1 NAME
My::Module - назва модуля
=head1 SYNOPSIS
my $object = My::Module->new();
print $object->as_string;
=head1 DESCRIPTION
use My::Module;
Це неіснуючий модуль, він зроблений з метою продемонструвати POD формат.
=head2 Methods
=over 12
=item C<new>
=item C<as_string>
Повертає представлення об'єкта як строковому вигляді. В основному для налагодження.
=back
=head1 LICENSE
Модуль розповсюджується на умовах GPL ліцензії. Див. <perlartistic>.
=head1 AUTHOR
Juerd - L<http://juerd.nl/>
=head1 SEE ALSO
L<perlpod>, L<perlpodspec>
=cut
|