Content-type: text/html
Manpage of PERLPOD
PERLPOD
Section: User Contributed Perl Documentation (1)
Updated: 2003-02-27
Index
Return to Main Contents
NOM
perlpod - plain old documentation (« bonne vieille documentation »)
DESCRIPTION
Un traducteur pod-vers-n'importe quoi lit un fichier pod paragraphe
par paragraphe, et le traduit dans le format de sortie approprié. Il
existe trois genres de paragraphes :
mot pour mot,
de commande, et
texte ordinaire.
Paragraphe Mot pour Mot
Un paragraphe mot pout mot (verbatim) est distingué par son
indentation (c'est-à-dire qu'il commence par une espace ou une
tabulation). Il devrait être reproduit exactement, avec les
tabulations supposées être sur 8 colonnes. Il n'y a pas de séquences
d'échappement spéciales pour le formatage, vous ne pouvez donc pas
mettre en italique ni quoi que ce soit. Un \ veut dire \, et rien
d'autre.
Paragraphe de Commande
Tous les paragraphes de commande commencent par « = », suivi par un
identificateur, suivi par un texte arbitraire que la commande peut
utilise de la façon qui lui plaît. Les commandes reconnues
actuellement sont
=head1 titre
=head2 titre
=item texte
=over N
=back
=cut
=pod
=for X
=begin X
=end X
- =pod
-
- =cut
-
La directive « =pod » ne fait rien d'autre que dire au compilateur de
suspendre son analyse du code jusqu'au prochain « =cut ». C'est utile
pour ajouter un nouveau paragraphe à la doc si vous mélangez beaucoup
le code et le pod.
- =head1
-
- =head2
-
Head1 et head2 produisent des titres de premier et de second niveau,
avec le texte situé dans le même paragraphe que la directive « =headn »
formant la description du titre.
- =over
-
- =back
-
- =item
-
Item, over, et back ont besoin d'un peu plus d'explications : « =over »
débute une section spécifiquement en vue de la création d'une liste
utilisant des commandes « =item ». Utilisez « =back » à la fin de votre
liste pour la terminer. Vous voudrez probablement donner « 4 » comme
nombre à « =over », car certains formateurs utiliseront ceci pour
l'indentation. Ceci devrait probablement être une valeur par
défaut. Notez aussi qu'il y a des règles de base dans l'usage de =item :
ne les utilisez pas hors d'un bloc =over/=back, utilisez-en au moins
un à l'intérieur d'un bloc =over/=back, vous n'êtes pas _obligé_
d'inclure le =back si la liste continue jusqu'à la fin du document,
et, ceci étant peut-être le plus important, gardez les items cohérents :
utilisez soit « =item * » pour tous, pour produire des puces, ou bien
utilisez « =item 1. », « =item 2. », etc., pour produire des listes
numérotées, ou bien utilisez « =item foo », « =item bar », etc., i.e., des
choses qui n'ont rien à voir avec des puces ou des numéros. Si vous
commencez avec des puces ou des numéros, gardez-les, car beaucoup de
formateurs utiliseront le type du premier « =item » pour décider comment
formater toute la liste.
- =for
-
- =begin
-
- =end
-
For, begin, et end vous permettent d'inclure des sections qui ne sont
pas interprétées comme du texte pod, mais passées directement à des
formateurs particuliers. Un formateur qui peut utiliser ce format
traitera la section, qui sera complètement ignorée sinon. La directive
``=for'' spécifie que la totalité du prochain paragraphe est dans le
format indiqué par le premier mot après le « =for », comme ceci :
=for html <br>
<p> This is a raw HTML paragraph </p>
La paire de commandes « =begin » et « =end » fonctionne de façon très
similaires à « =for », mais au lieu de n'accepter seulement qu'un seul
paragraphe, tout le texte depuis le « =begin » jusqu'au paragraphe ayant
un « =end » assorti est traité comme d'un format particulier.
Voici des exemples de l'utilisation de ceci :
=begin html
<br>Figure 1.<IMG SRC="figure1.png"><br>
=end html
=begin text
---------------
| foo |
| bar |
---------------
^^^^ Figure 1. ^^^^
=end text
Certains noms de format que les formateurs sont connus pour accepter
actuellement incluent « roff », « man », « latex », « tex », « text », et « html »
(certains formateurs traiteront certains de ceux-ci comme des
synonymes).
Et n'oubliez pas, en utilisant toute commande, que son effet dure
jusqu'à la fin du paragraphe, pas de la ligne. D'où dans les
exemples ci-dessus, les lignes vides que vous pouvez voir après chaque
commande pour terminer son paragraphe.
Des exemples de listes incluent :
=over 4
=item *
First item
=item *
Second item
=back
=over 4
=item Foo()
Description of Foo function
=item Bar()
Description of Bar function
=back
Bloc de Texte Ordinaire
Il sera plein, et peut-être même justifié. Certaines séquences internes sont
reconnues à la fois ici et dans les commandes :
I<texte> Texte en italique, utilisé pour l'accentuation ou les variables
B<texte> Texte en gras, utilisé pour les options et les programmes
S<texte> Le texte contient des espaces insécables
C<code> Code littéral
L<nom> Un lien (référence croisée) vers nom
L<nom> page de manuel
L<nom/ident> élément dans la page de manuel
L<nom/"sec"> section dans une autre page de manuel
L<"sec"> section dans cette page de manuel
(les guillemets sont optionels)
L</"sec"> idem
la même chose que ci-dessus mais seul 'texte' est utilisé comme sortie.
(Le Texte ne peut pas contenir les caractères '/' et '|',
et devrait contenir des '<' ou des '>' appariés)
L<texte|nom>
L<texte|nom/ident>
L<texte|nom/"sec">
L<texte|"sec">
L<texte|/"sec">
F<file> Utilisé pour les noms de fichier
X<index> Une entrée d'index
Z<> Un caractère de largeur nulle
E<escape> Un caractère nommé (très similaire aux séquences d'échappement HTML)
E<lt> Un < litteral
E<gt> Un > litteral
E<sol> Un / litteral
E<verbar> Un | litteral
(Ceux-ci sont optionnels sauf dans d'autres séquences internes
et quand ils sont précédés d'une lettre majuscule)
E<n> Caractère numéro n (probablement en ASCII)
E<html> Une entité HTML non numérique, comme
E<Agrave>
La plupart du temps, vous n'aurez besoin que d'un seul jeu de crochets
pour délimiter le début et la fin des séquences internes. Toutefois
vous voudrez parfois mettre un signe supérieur à dans une séquence.
C'est particulièrement courant lorsqu'on utilise une séquence pour
fournir une fonte différente pour un petit bout de code. Comme pour
toute chose en Perl, il y a plus d'une façon de le faire. L'une d'elle
est de simplement protéger le crochet fermant en utilisant une
séquence "E" :
C<$a E<lt>=E<gt> $b>
Ce qui produira : ""$a <=> $b""
Une méthode plus lisible, et peut-etre plus « simple », est d'utiliser
une autre paire de délimiteurs qui n'ont pas besoin d'un « > » pour leur
protection. À partir de perl5.5.660, les crochets doublés (« << » et
« >> ») peuvent etre utilisés si et seulement si des espaces suivent
immédiatement le crochet ouvrant et précèdent le crochet fermant !
Par exemple, ce qui suit fonctionnera :
C<< $a <=> $b >>
En fait, vous pouvez utiliser autant de crochets répétés que vous le
désirez tant qu'il y en a autant dans les délimiteurs ouvrants et
fermants, et que vous vous assurez que l'espace suit immédiatement le
dernier « < » du délimiteur ouvrant, et précède immédiatement le premier
« > » du délimiteur fermant. Ce qui suit fonctionnera donc aussi :
C<<< $a <=> $b >>>
C<<<< $a <=> $b >>>>
C'est actuellement supporté par pod2text (Pod::Text), pod2man (Pod::Man),
et tout autre traducteur pod2xxx et Pod::Xxxx qui utilise Pod::Parser
version 1.093 ou supérieure.
Le Dessein
C'est cela. Le dessein est la simplicité, pas la puissance. Je voulais
que les paragraphes aient l'air de paragraphes (format de bloc), pour
qu'ils ressortent visuellement, et pour que je puisse les faire passer
facilement à travers fmt pour les reformater (c'est F7 dans ma version
de vi). Je voulais que le traducteur (et pas moi) s'inquiète de
savoir si " ou ' est une apostrophe ou un accent grave dans le texte
plein, et je voulais qu'il laisse les apostrophe tranquilles, nom
d'une pipe, en mode mot pour mot, pour que je puisse l'aspirer dans un
programme qui marche, le décaler de 4 espaces, et l'imprimer, euh, mot
pour mot. Et probablement dans une fonte à chasse fixe.
En particulier, vous pouvez laisser des choses comme ceci mot pour mot
dans votre texte :
Perl
FILEHANDLE
$variable
function()
manpage(3r)
Sans doute quelques commandes ou séquences supplémentaires auront
besoin d'être ajoutées en cours de route, mais je m'en suis
étonnemment bien sorti avec juste celles-ci.
Notez que je ne proclame pas du tout que ceci est suffisant pour
produire un livre. J'essaye juste de faire une source commune à
l'épreuve des idiots pour nroff, TeX, et les autres langages de
marquage, tels qu'ils sont utilisés pour la documentation en
ligne. Des traducteurs existent pour pod2man (ceci est pour
nroff(1) et troff(1)), pod2text, pod2html, pod2latex, et
pod2fm.
Incorporer du Pod dans les Modules Perl
Vous pouvez inclure de la documentation pod dans vos scripts
Perl. Commencez votre documentation par une commande « =head1 » au
début, et terminez-la par une commande « =cut ». Perl ignorera le texte
en pod. Voyez n'importe quel module de bibliothèque fourni comme
exemple. Si vous allez mettre votre pod à la fin du fichier, et si
vous utilisez un __END__ ou un __DATA__ comme marque de fin,
assurez-vous de mettre une ligne vide à cet endroit avant la première
directive pod.
__END__
=head1 NAME
modern - I am a modern module
Si vous n'aviez pas eu cette ligne vide à cet endroit, alors les
traducteurs ne l'auraient pas vue.
Pièges Courants de Pod
- *
-
Les traducteurs Pod requièrent habituellement que les paragraphes
soient séparés par des lignes complètement vides. Si vous avez une
ligne apparemment vide contenant des espaces, Cela peut provoquer un
formatage étrange.
- *
-
Les traducteurs ajouteront généralement des mots autour d'un lien
L<>, de façon que "L<foo(1)>" devienne « the foo(1)
manpage », par exemple (voir pod2man pour des détails). Ainsi, vous
ne devriez pas écrire de choses "the L<foo> manpage", si vous
voulez que le document traduit se lise de façon sensée.
Si vous avez besoin du contrôle total du texte utilisé pour un lien
dans la sortie, utilisez la forme L<show this text|foo> à la
place.
- *
-
La commande podchecker est fournie pour rechercher les erreurs et
les avertissements dans la syntaxe pod. Elle vérifie par exemple les
lignes complètement blanches dans les segments pod et les séquences
d'échappement inconnues. Il est toujours conseillé de faire passer
votre pod dans un ou plusieurs traducteurs et de relire le résultat,
ou de l'imprimer et de relire cela. Certains des problèmes trouvés
peuvent être des bugs dans le traducteur, que vous pourriez ou non
désirer contourner.
VOIR AUSSI
pod2man, ``POD : Documentation Enfouie'' in perlsyn, podchecker
AUTEUR
Larry Wall
VERSION FRANÇAISE
Cette traduction française correspond à la version anglaise distribuée avec perl 5.6.0.
Pour en savoir plus concernant ces traductions, consultez http://www.enstimac.fr/Perl/ .
TRADUCTION
Roland Trique <roland.trique@free.fr>
RELECTURE
Gérard Delafond
Index
- NOM
-
- DESCRIPTION
-
- Paragraphe Mot pour Mot
-
- Paragraphe de Commande
-
- Bloc de Texte Ordinaire
-
- Le Dessein
-
- Incorporer du Pod dans les Modules Perl
-
- Pièges Courants de Pod
-
- VOIR AUSSI
-
- AUTEUR
-
- VERSION FRANÇAISE
-
- TRADUCTION
-
- RELECTURE
-
This document was created by
man2html,
using the manual pages.
Time: 12:44:40 GMT, February 27, 2003