Bonjour,
J'ai un problème assez incompréhensible. Si quelqu'un a la solution, je suis preneur.
J'ai un programme qui contient de la documentation POD. Malheureusement, en ligne de commande, cette dernière ne s'affiche pas sous Linux. Sous Windows, il n'y a aucun souci.
Afin que vous puissiez reproduire (si possible le problème), voici un exemple de programme pod.pl :
Sous Windows, si je lance ce programme des façons suivantes, c'est ok :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15 #!/usr/bin/perl use warnings; use strict; use Carp; use Pod::Usage; pod2usage( -verbose => 2 ); __END__ =head1 NAME test.pl - Exemple de documentation =cut
Sous Linux - sur deux serveurs Debian 7.5 et une Suse, j'ai ceci :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8 >perldoc pod.pl NAME test.pl - Exemple de documentation >perl pod.pl NAME test.pl - Exemple de documentation
# perldoc pod.pl
No documentation found for "pod.pl".
# perl pod.pl
#!/usr/bin/perl
use warnings;
use strict;
use Carp;
use Pod::Usage;
pod2usage( -verbose => 2 );
__END__
=head1 NAME
test.pl - Exemple de documentation
=cut
En utilisant perldoc, il me dit qu'il n'y a pas de documentation, en utilisant le module Pod::Usage, il m'affiche le programme entier. Je ne trouve pas le souci.
La syntaxe est correcte :
Le programme pod.pl ne contient pas de ^M (j'ai fait un dos2unix dessus).# podchecker pod.pl
pod.pl pod syntax OK.
Le perldoc est issu de l'installation du paquet debian perl-doc.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16 # cat -t pod.pl #!/usr/bin/perl use warnings; use strict; use Carp; use Pod::Usage; pod2usage( -verbose => 2 ); __END__ =head1 NAME test.pl - Exemple de documentation =cut
perldoc fonctionne car je peux lire la documentation des modules standards (perldoc File::Copy, perldoc File::Spec...)
Une idée car je sèche ?
Partager