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 :
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 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
>perldoc pod.pl
NAME
    test.pl - Exemple de documentation
 
 
>perl pod.pl
NAME
    test.pl - Exemple de documentation
Sous Linux - sur deux serveurs Debian 7.5 et une Suse, j'ai ceci :
# 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 :
# podchecker pod.pl
pod.pl pod syntax OK.
Le programme pod.pl ne contient pas de ^M (j'ai fait un dos2unix dessus).
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
Le perldoc est issu de l'installation du paquet debian perl-doc.

perldoc fonctionne car je peux lire la documentation des modules standards (perldoc File::Copy, perldoc File::Spec...)

Une idée car je sèche ?