.\" Automatically generated by Pod::Man 2.09 (Pod::Simple 3.04) .\" .\" Standard preamble: .\" ======================================================================== .de Sh \" Subsection heading .br .if t .Sp .ne 5 .PP \fB\\$1\fR .PP .. .de Sp \" Vertical space (when we can't use .PP) .if t .sp .5v .if n .sp .. .de Vb \" Begin verbatim text .ft CW .nf .ne \\$1 .. .de Ve \" End verbatim text .ft R .fi .. .\" Set up some character translations and predefined strings. \*(-- will .\" give an unbreakable dash, \*(PI will give pi, \*(L" will give a left .\" double quote, and \*(R" will give a right double quote. | will give a .\" real vertical bar. \*(C+ will give a nicer C++. Capital omega is used to .\" do unbreakable dashes and therefore won't be available. \*(C` and \*(C' .\" expand to `' in nroff, nothing in troff, for use with C<>. .tr \(*W-|\(bv\*(Tr .ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p' .ie n \{\ . ds -- \(*W- . ds PI pi . if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch . if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\" diablo 12 pitch . ds L" "" . ds R" "" . ds C` "" . ds C' "" 'br\} .el\{\ . ds -- \|\(em\| . ds PI \(*p . ds L" `` . ds R" '' 'br\} .\" .\" If the F register is turned on, we'll generate index entries on stderr for .\" titles (.TH), headers (.SH), subsections (.Sh), items (.Ip), and index .\" entries marked with X<> in POD. Of course, you'll have to process the .\" output yourself in some meaningful fashion. .if \nF \{\ . de IX . tm Index:\\$1\t\\n%\t"\\$2" .. . nr % 0 . rr F .\} .\" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .hy 0 .if n .na .\" .\" Accent mark definitions (@(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2). .\" Fear. Run. Save yourself. No user-serviceable parts. . \" fudge factors for nroff and troff .if n \{\ . ds #H 0 . ds #V .8m . ds #F .3m . ds #[ \f1 . ds #] \fP .\} .if t \{\ . ds #H ((1u-(\\\\n(.fu%2u))*.13m) . ds #V .6m . ds #F 0 . ds #[ \& . ds #] \& .\} . \" simple accents for nroff and troff .if n \{\ . ds ' \& . ds ` \& . ds ^ \& . ds , \& . ds ~ ~ . ds / .\} .if t \{\ . ds ' \\k:\h'-(\\n(.wu*8/10-\*(#H)'\'\h"|\\n:u" . ds ` \\k:\h'-(\\n(.wu*8/10-\*(#H)'\`\h'|\\n:u' . ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'^\h'|\\n:u' . ds , \\k:\h'-(\\n(.wu*8/10)',\h'|\\n:u' . ds ~ \\k:\h'-(\\n(.wu-\*(#H-.1m)'~\h'|\\n:u' . ds / \\k:\h'-(\\n(.wu*8/10-\*(#H)'\z\(sl\h'|\\n:u' .\} . \" troff and (daisy-wheel) nroff accents .ds : \\k:\h'-(\\n(.wu*8/10-\*(#H+.1m+\*(#F)'\v'-\*(#V'\z.\h'.2m+\*(#F'.\h'|\\n:u'\v'\*(#V' .ds 8 \h'\*(#H'\(*b\h'-\*(#H' .ds o \\k:\h'-(\\n(.wu+\w'\(de'u-\*(#H)/2u'\v'-.3n'\*(#[\z\(de\v'.3n'\h'|\\n:u'\*(#] .ds d- \h'\*(#H'\(pd\h'-\w'~'u'\v'-.25m'\f2\(hy\fP\v'.25m'\h'-\*(#H' .ds D- D\\k:\h'-\w'D'u'\v'-.11m'\z\(hy\v'.11m'\h'|\\n:u' .ds th \*(#[\v'.3m'\s+1I\s-1\v'-.3m'\h'-(\w'I'u*2/3)'\s-1o\s+1\*(#] .ds Th \*(#[\s+2I\s-2\h'-\w'I'u*3/5'\v'-.3m'o\v'.3m'\*(#] .ds ae a\h'-(\w'a'u*4/10)'e .ds Ae A\h'-(\w'A'u*4/10)'E . \" corrections for vroff .if v .ds ~ \\k:\h'-(\\n(.wu*9/10-\*(#H)'\s-2\u~\d\s+2\h'|\\n:u' .if v .ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'\v'-.4m'^\v'.4m'\h'|\\n:u' . \" for low resolution devices (crt and lpr) .if \n(.H>23 .if \n(.V>19 \ \{\ . ds : e . ds 8 ss . ds o a . ds d- d\h'-1'\(ga . ds D- D\h'-1'\(hy . ds th \o'bp' . ds Th \o'LP' . ds ae ae . ds Ae AE .\} .rm #[ #] #H #V #F C .\" ======================================================================== .\" .IX Title "PERLPOD 1" .TH PERLPOD 1 "2006-04-13" "DocFr" "User Contributed Perl Documentation" .SH "NAME/NOM" .IX Xref "POD plain old documentation bonne vieille documentation" .IX Header "NAME/NOM" perlpod \- Le format Pod (plain old documentation), la bonne vieille documentation .SH "DESCRIPTION" .IX Header "DESCRIPTION" Pod est un langage de balise, simple a\*` utiliser pour e\*'crire de la documentation pour Perl lui\-me\*^me ainsi que pour les programmes Perl et les modules Perl. .PP Des traducteurs existent pour convertir le Pod vers diffe\*'rents formats comme le texte brut, le \s-1HTML\s0, les pages man et d'autres encore. .PP Le langage Pod reconnait a\*` la base trois sortes de paragraphes\ : les paragraphes ordinaires, les paragraphes de commande et les paragraphes verbatim. .Sh "Les paragraphes ordinaires" .IX Xref "POD, paragraphes ordinaires" .IX Subsection "Les paragraphes ordinaires" La plupart des paragraphes d'une documentation sont des blocs de texte ordinaires, comme celui\-ci. Il vous suffit de taper votre texte sans aucune marque particulie\*`re et avec une ligne vide avant et apre\*`s. Lorsqu'il sera formate\*', ce bloc subira une mise en forme minimale comme un rede\*'coupage des lignes, problablement e\*'crites dans une police a\*` espacement proportionnelle, qui seront sans doute justifie\*'es. .PP Dans les paragraphes ordinaires, vous pouvez utiliser des codes de mise en forme pour le \fBgras\fR, l'\fIitalique\fR, le style \f(CW\*(C`code\*(C'\fR, les liens et autres. Ces codes sont explique\*'s dans la section Codes de mise en forme, ci\-dessous. .Sh "Les paragraphes verbatim" .IX Xref "POD, paragraphes verbatim POD, paragraphes mot pour mot verbatim" .IX Subsection "Les paragraphes verbatim" Les paragraphes verbatim (mot pout mot) sont habituellement utilise\*'s pour pre\*'senter des blocs de code ou d'autres bouts de texte qui ne requie\*`rent aucune analyse, aucune mise en forme particulie\*`re et dont les lignes ne doivent pas e\*^tre rede\*'coupe\*'es. .PP Un paragraphe verbatim se distingue par son premier caracte\*`re qui doit e\*^tre un espace ou une tabulation. (Et habituellement, chacune de ses lignes commence par des espaces ou des tabulations.) Il devrait e\*^tre reproduit a\*` l'identique, en supposant que les tabulations sont aligne\*'es sur 8 caracte\*`res. Il n'existe aucun code de mise en forme et, par conse\*'quent, aucune possibilite\*' de faire de l'italique ou quoi que ce soit d'autre. Un \e est \e et rien d'autre. .Sh "Les paragraphes de commande" .IX Xref "POD, commande" .IX Subsection "Les paragraphes de commande" Un paragraphe de commande est utilise\*' pour spe\*'cifier des traitements spe\*'ciaux sur des parties du texte comme les titres ou les listes. .PP Tous les paragraphes de commande (qui ne font habituellement qu'une seule ligne) commencent par le caracte\*`re X\ =\ X, suivi d'un identificateur, suivi d'un texte arbitraire que la commande peut utiliser de la fac\*,on qui lui plai\*^t. Les commandes actuellement reconnues sont .PP .Vb 10 \& =pod \& =head1 titre \& =head2 titre \& =head3 titre \& =head4 titre \& =over niveauindentation \& =item texte \& =back \& =beagin format \& =end format \& =for format \& =encoding type \& =cut .Ve .PP Voici en de\*'tail des explications pour chacune d'elles\ : .ie n .IP """=head1 \f(CITexte du titre\f(CW""" 4 .el .IP "\f(CW=head1 \f(CITexte du titre\f(CW\fR" 4 .IX Xref "=head1 =head2 =head3 =head4 head1 head2 head3 head4" .IX Item "=head1 Texte du titre" .PD 0 .ie n .IP """=head2 \f(CITexte du titre\f(CW""" 4 .el .IP "\f(CW=head2 \f(CITexte du titre\f(CW\fR" 4 .IX Item "=head2 Texte du titre" .ie n .IP """=head3 \f(CITexte du titre\f(CW""" 4 .el .IP "\f(CW=head3 \f(CITexte du titre\f(CW\fR" 4 .IX Item "=head3 Texte du titre" .ie n .IP """=head4 \f(CITexte du titre\f(CW""" 4 .el .IP "\f(CW=head4 \f(CITexte du titre\f(CW\fR" 4 .IX Item "=head4 Texte du titre" .PD Les commandes head1 a\*` head4 produisent des titres et head1 est le titre de plus haut niveau. Le texte qui suit la commande et qui constitue le reste du paragraphe est le contenu du titre. Par exemple\ : .Sp .Vb 1 \& =head2 Attributs des objets .Ve .Sp Le texte \*(L"Attributs des objets\*(R" est ici le titre. (Notez que les niveaux head3 et head4 sont des ajouts re\*'cents qui ne seront pas reconnus par de vieux traducteurs de Pod.) Le texte du titre peut utiliser des codes de mise en forme comme dans\ : .Sp .Vb 1 \& =head2 Valeurs possibles pour C<$/> .Ve .Sp Ces codes sont explique\*'s dans la section Codes de mise en forme, ci\-dessous. .ie n .IP """=over \f(CIniveauindentation\f(CW""" 4 .el .IP "\f(CW=over \f(CIniveauindentation\f(CW\fR" 4 .IX Xref "=over =item =back over item back" .IX Item "=over niveauindentation" .PD 0 .ie n .IP """=item \f(CItexte...\f(CW""" 4 .el .IP "\f(CW=item \f(CItexte...\f(CW\fR" 4 .IX Item "=item texte..." .ie n .IP """=back""" 4 .el .IP "\f(CW=back\fR" 4 .IX Item "=back" .PD Les commandes item, over, et back ont besoin d'un peu plus d'explications\ : X\ =over\ X de\*'bute une section destine\*'e a\*` cre\*'er une liste utilisant des commandes X\ =item\ X, ou pour indenter un ou plusieurs paragraphes normaux. Utilisez X\ =back\ X a\*` la fin de votre liste ou de votre groupe de paragraphes. L'option \&\fIniveauindentation\fR de X\ =over\ X indique le niveau d'indentation, ge\*'ne\*'ralement mesure\*' en em (ou\*` un em est la largeur d'un M de la police de base du document) ou en une unite\*' comparable. Si l'option \&\fIniveauindentation\fR est omise, sa valeur par de\*'faut est quatre. (Et certains traducteurs ignoreront cette valeur quelle qu'elle soit.) Dans le \fItexte\fR de \f(CW\*(C`=item texte...\*(C'\fR vous pouvez utiliser des codes de mise en forme comme par exemple\ : .Sp .Vb 1 \& =item Utilisation de C<$|> pour contro\*^ler l'usage des tampons .Ve .Sp Ces codes sont explique\*'s dans la section Codes de mise en forme, ci\-dessous. .Sp Notez aussi les quelques re\*`gles basiques suivantes pour bien utiliser les sections X\ =over\ X ... X\ =back\ X\ : .RS 4 .IP "\(bu" 4 N'utilisez pas X\ =item\ X en dehors d'une section X\ =over\ X \&... X\ =back\ X. .IP "\(bu" 4 La premie\*`re chose qui suit une commande X\ =over\ X devrait e\*^tre une commande X\ =item\ X, sauf s'il n'y a vraiment aucun item dans cette section X\ =over\ X ... X\ =back\ X. .IP "\(bu" 4 N'utilisez pas de commande X\ =head\fIn\fR\ X dans une section X\ =over\ X ... X\ =back\ X. .IP "\(bu" 4 Et, sans doute le plus important, utilisez des items cohe\*'rents entre eux\ : soit ce sont tous des X\ =item\ *\ X pour produire une liste a\*` puces\ ; soit ils sont tous de la forme X\ =item\ 1\ X, X\ =item\ 2\ X, etc. pour produire une liste nume\*'rote\*'e\ ; soit ils sont tous de la forme X\ =item\ truc\ X, X\ =item\ bidule\ X, etc. pour produire une liste de de\*'finitions. .Sp Si vous commencez par une puce ou par un nume\*'ro, continuez de me\*^me, puisque les traducteurs se basent sur le premier X\ =item\ X pour choisir le type de liste. .RE .RS 4 .RE .ie n .IP """=cut""" 4 .el .IP "\f(CW=cut\fR" 4 .IX Xref "=cut cut" .IX Item "=cut" Pour terminer un bloc Pod, utilisez une ligne vide puis une ligne commenc\*,ant par \f(CW\*(C`=cut\*(C'\fR puis encore une ligne vide. Ceci informe Perl (et les traducteurs Pod) que c'est a\*` cet endroit que le code Perl recommence. (La ligne vide avant le \f(CW\*(C`=cut\*(C'\fR n'est pas techniquement indispensable mais beaucoup de vieux traducteurs Pod en ont besoin.) .ie n .IP """=pod""" 4 .el .IP "\f(CW=pod\fR" 4 .IX Xref "=pod pod" .IX Item "=pod" La commande \f(CW\*(C`=pod\*(C'\fR en elle\-me\*^me ne sert pas a\*` grand chose si ce n'est de signaler a\*` Perl (et aux traducteurs Pod) qu'une section Pod commence a\*` cet endroit. Une section Pod peut commencer par \&\fIn'importe\fR quel paragraphe de commande. Une commande \f(CW\*(C`=pod\*(C'\fR ne sert donc qu'a\*` indiquer une section Pod qui de\*'bute directement par un paragraphe ordinaire ou un paragraphe verbatim. Par exemple\ : .Sp .Vb 1 \& =item trucs() \& \& Cette fonction fait des trucs. \& \& =cut \& \& sub trucs { \& ... \& } \& \& =pod \& \& Souvenez\-vous de ve\*'rifier son S \& \& trucs() || die "Ne peux pas faire des trucs !"; \& \& =cut .Ve .ie n .IP """=begin \f(CInomformat\f(CW""" 4 .el .IP "\f(CW=begin \f(CInomformat\f(CW\fR" 4 .IX Xref "=begin =end =for begin end for" .IX Item "=begin nomformat" .PD 0 .ie n .IP """=end \f(CInomformat\f(CW""" 4 .el .IP "\f(CW=end \f(CInomformat\f(CW\fR" 4 .IX Item "=end nomformat" .ie n .IP """=for \f(CInomformat\f(CW \f(CItexte...\f(CW""" 4 .el .IP "\f(CW=for \f(CInomformat\f(CW \f(CItexte...\f(CW\fR" 4 .IX Item "=for nomformat texte..." .PD Les commandes for, begin et end vous permettent d'utiliser des sections de texte/code/donne\*'e qui ne seront pas interpre\*'te\*'es comme du Pod normal mais qui pourront e\*^tre utilise\*'es directement par des traducteurs spe\*'cifiques ou qui pourront avoir un usage spe\*'cial. Seuls les traducteurs qui savent comment utiliser le format spe\*'cifie\*' utiliseront cette section. Sinon elle sera comple\*`tement ignore\*'e. .Sp Une commande X=begin\ \fInomformat\fRX puis quelques paragraphes et enfin une commande X=end\ \fInomformat\fRX signifie que les paragraphes inclus sont re\*'serve\*'s aux traducteurs comprenant le format spe\*'cial appele\*' \fInomformat\fR. Par exemple\ : .Sp .Vb 1 \& =begin html \& \&
\&

Ceci est un paragraphe HTML

\& \& =end html .Ve .Sp La commande X\ =for\ \fInomformat\fR\ \fItexte...\fR\ X indique que c'est uniquement ce paragraphe (le \fItexte\fR qui est juste apre\*`s \&\fInomformat\fR) qui est dans ce format spe\*'cial. .Sp .Vb 2 \& =for html
\&

Ceci est un paragraphe HTML

.Ve .Sp Les deux exemples ci-dessus produiront le me\*^me re\*'sultat. .Sp La diffe\*'rence est qu'avec X\ =for\ X, seul le paragraphe est concerne\*' alors qu'entre le couple X\ =begin\ format\ X ... X\ =end\ format\ X, vous pouvez placer autant de contenu que ne\*'cessaire. (Notez que les lignes vides apre\*`s la commande =begin et avant la commande =end sont requises.) .Sp Voici des exemples de l'utilisation de ceci\ : .Sp .Vb 1 \& =begin html \& \&
Figure 1.
\& \& =end html \& \& =begin text \& \& \-\-\-\-\-\-\-\-\-\-\-\-\-\-\- \& | foo | \& | bar | \& \-\-\-\-\-\-\-\-\-\-\-\-\-\-\- \& \& ^^^^ Figure 1. ^^^^ \& \& =end text .Ve .Sp Parmi les noms de format actuellement connus pour e\*^tre reconnus par les formateurs, on trouve X\ roff\ X, X\ man\ X, X\ latex\ X, X\ tex\ X, X\ text\ X et X\ html\ X. (Des traducteurs Pod peuvent en conside\*'rer certains comme synonymes.) .Sp Le nom de format X\ comment\ X est pratique pour placer des notes (juste pour vous) qui n'apparai\*^tront dans aucune version mise en forme de la documentation Pod\ : .Sp .Vb 2 \& =for comment \& S'assurer que toutes les options sont documente\*'es ! .Ve .Sp Quelques \fInomformat\fRs utilisent le pre\*'fixe \f(CW\*(C`:\*(C'\fR (comme par exemple \&\f(CW\*(C`=for :nomformat\*(C'\fR ou \f(CW\*(C`=begin :nomformat\*(C'\fR ... \f(CW\*(C`=end :nomformat\*(C'\fR) pour indiquer que le texte ne doit pas e\*^tre conside\*'re\*' comme brut mais qu'il contient en fait du texte Pod (c.\-a\*`\-d. contenant e\*'ventuellement des codes de mise en forme) qui n'est pas a\*` utiliser pour une mise forme normale (c.\-a\*`\-d. qui n'est pas un paragraphe normal mais pourrait e\*^tre utilise\*', par exemple, comme note de bas de page). .ie n .IP """=encoding \f(CIcodage\f(CW""" 4 .el .IP "\f(CW=encoding \f(CIcodage\f(CW\fR" 4 .IX Xref "=encoding encoding codage" .IX Item "=encoding codage" Cette commande permet de de\*'clarer le codage utilise\*' dans le document. La plupart des utilisateurs n'en ont pas besoin ; mais si votre encodage n'est pas US-ASCII ou Latin\-1 alors indiquez-le aux traducteurs Pod en plac\*,ant une commande \f(CW\*(C`=encoding \f(CIcodage\f(CW\*(C'\fR le plus to\*^t possible dans le document. Comme \fIcodage\fR, utilisez l'un des noms reconnus par le module \f(CW\*(C`Encode::Supported\*(C'\fR. Exemples\ : .Sp .Vb 1 \& =encoding utf8 \& \& =encoding koi8\-r \& \& =encoding ShiftJIS \& \& =encoding big5 .Ve .PP N'oubliez pas, en utilisant une commande, que cette commande se termine a\*` la fin de son \fIparagraphe\fR, pas a\*` la fin de sa ligne. D'ou\*` dans les exemples ci\-dessus, les lignes vides que vous pouvez voir apre\*`s chaque commande pour terminer son paragraphe. .PP Quelques exemples de listes\ : .PP .Vb 1 \& =over \& \& =item * \& \& Premier item \& \& =item * \& \& Second item \& \& =back \& \& =over \& \& =item Foo() \& \& Description de la fonction Foo \& \& =item Bar() \& \& Description de la fonction Bar \& \& =back .Ve .Sh "Codes de mise en forme" .IX Xref "POD, code de mise en forme code de mise en forme POD, se\*'quence interne se\*'quence interne" .IX Subsection "Codes de mise en forme" Dans les paragraphes ordinaires et dans certains paragraphes de commande, plusieurs codes de mise en forme (appele\*'s aussi X\ se\*'quences internesX) peuvent e\*^tre utilise\*'s\ : .ie n .IP """I"" \*(-- texte en italique" 4 .el .IP "\f(CWI\fR \*(-- texte en italique" 4 .IX Xref "I I<> POD, code de mise en forme, italique italique" .IX Item "I texte en italique" Utilise\*' pour mettre en e\*'vidence (\f(CW\*(C`faites I\*(C'\fR) et pour les parame\*`tres (\f(CW\*(C`redo I