OVH Cloud OVH Cloud

Écrire de la documentation POD en iso-8859-15

4 réponses
Avatar
root
Bonjour,

Je voudrais savoir comment écrire de la documentation Perl POD dans un
autre charset que le Latin1/US-ASCII ?

J'utilise perl-5.8.1 et pour le moment perldoc me donne l'erreur
suivante lorsqu'il tombe sur un caractère accentué par exemple :

iconv: illegal input sequence at position 3766

J'ai regardé la doc perlpod et il semble qu'il y ait une declaration
`=encoding' pour spécifier le charset mais ça ne semble pas fonctionner
mieux :

test.pod:1: Unknown command paragraph "=encoding iso-8859-15"

J'ai regardé les doc .pod de http://www.enstimac.fr/Perl/DocFr mais
elles ne contiennent pas de declaration `=encoding' et ne passent pas
non plus :/

Une idée ???

Merci.

4 réponses

Avatar
Paul GABORIT
À (at) Fri, 12 Dec 2003 12:49:25 +0100,
root écrivait (wrote):

Je voudrais savoir comment écrire de la documentation Perl POD dans un
autre charset que le Latin1/US-ASCII ?


Les outils de conversion POD ne gère correctement que l'ASCII. La plupart ne
font (faisaient) pas trop de bourdes avec de l'ISO-8859-1 mais c'est un coup
de bol.

J'utilise perl-5.8.1 et pour le moment perldoc me donne l'erreur
suivante lorsqu'il tombe sur un caractère accentué par exemple :

iconv: illegal input sequence at position 3766

J'ai regardé la doc perlpod et il semble qu'il y ait une declaration
`=encoding' pour spécifier le charset mais ça ne semble pas fonctionner
mieux :

test.pod:1: Unknown command paragraph "=encoding iso-8859-15"


C'est logique que cela apparaisse... un jour. En tous cas, sur ma version
5.8.0 on ne parle pas de cela (je sais, j'ai deux versions de retard ;-)

J'ai regardé les doc .pod de http://www.enstimac.fr/Perl/DocFr mais
elles ne contiennent pas de declaration `=encoding' et ne passent pas
non plus :/


Cette directive existe encore moins en version 5.6.x ou avant.

Une idée ???


Le plus simple est d'utilisé les entités POD. En utilisant les noms d'entités
HTML: "été" se code alors "E<eacute>tE<eacute>".

Le problème (potentiel) est que la liste des entités reconnues n'est pas
infinies. Par exemple, je ne suis pas sûr que l'euro passe ;-)

Si vous tenez absolument à saisir votre doc en ISO-8859-1, vous pouvez
utiliser les convertisseurs (un peu vieillots et sans aucune garantie) proposer
sur le site de la doc en français :

<http://www.enstimac.fr/Perl/Tool.html>

Le plus utile, pour vous, sera 'isopod2asciipos.pl' écrit par Simon Washbrook.

--
Paul Gaborit - <http://www.enstimac.fr/~gaborit/>
Perl en français - <http://www.enstimac.fr/Perl/>

Avatar
Jean-Michel Hiver
Ou alors t'ecris ta doc en Anglais... ca passera mieux quand viendra le
moment d'uploader tes jolis modules sur CPAN :)
Avatar
root
On Mon, 15 Dec 2003 17:45:51 +0100, Paul GABORIT wrote:


À (at) Fri, 12 Dec 2003 12:49:25 +0100,
root écrivait (wrote):

Je voudrais savoir comment écrire de la documentation Perl POD dans
un autre charset que le Latin1/US-ASCII ?


Les outils de conversion POD ne gère correctement que l'ASCII. La
plupart ne font (faisaient) pas trop de bourdes avec de l'ISO-8859-1
mais c'est un coup de bol.

J'utilise perl-5.8.1 et pour le moment perldoc me donne l'erreur
suivante lorsqu'il tombe sur un caractère accentué par exemple :

iconv: illegal input sequence at position 3766

J'ai regardé la doc perlpod et il semble qu'il y ait une declaration
`=encoding' pour spécifier le charset mais ça ne semble pas
fonctionner mieux :

test.pod:1: Unknown command paragraph "=encoding iso-8859-15"


C'est logique que cela apparaisse... un jour. En tous cas, sur ma
version 5.8.0 on ne parle pas de cela (je sais, j'ai deux versions de
retard ;-)

J'ai regardé les doc .pod de http://www.enstimac.fr/Perl/DocFr mais
elles ne contiennent pas de declaration `=encoding' et ne passent pas
non plus :/


Cette directive existe encore moins en version 5.6.x ou avant.

Une idée ???


Le plus simple est d'utilisé les entités POD. En utilisant les noms
d'entités HTML: "été" se code alors "E<eacute>tE<eacute>".



Il m'affiche un 'e' sans accent... :/

Le problème (potentiel) est que la liste des entités reconnues n'est
pas infinies. Par exemple, je ne suis pas sûr que l'euro passe ;-)

Si vous tenez absolument à saisir votre doc en ISO-8859-1, vous pouvez
utiliser les convertisseurs (un peu vieillots et sans aucune garantie)
proposer sur le site de la doc en français :

<http://www.enstimac.fr/Perl/Tool.html>

Le plus utile, pour vous, sera 'isopod2asciipos.pl' écrit par Simon
Washbrook.


Bon, je vais quand même regarder tout ça.

Entre temps, j'ai essayé de taper mon texte en UTF8 et ça semble
fonctionner. perldoc m'affiche bien les accents, mais par contre je ne
suis pas sur que ça passera avec un Perl < 5.8, et pod2html ne gère pas
non plus un encoding pour les pages HTML qu'il génère.

Merci.


Avatar
root
On Mon, 15 Dec 2003 18:09:32 +0000, Jean-Michel Hiver wrote:

Ou alors t'ecris ta doc en Anglais... ca passera mieux quand viendra le
moment d'uploader tes jolis modules sur CPAN :)


Parce qu'en plus il faudrait que je mutile mon prénom et mon nom ? ;)

Jérôme