OVH Cloud OVH Cloud

commentaires multi-lignes

9 réponses
Avatar
Gérard Breiner
Bonjour à tous,

Je me demande s'il existe actuellement une version de Perl qui supporte les
commentaires englobant plusieurs lignes de code.

Bien cordialement.

Gérard Breiner
Institut d'Astrophysique Spatiale
Bat 121
91406 Orsay Campus

9 réponses

Avatar
Stephane Zuckerman
Je me demande s'il existe actuellement une version de Perl qui supporte les
commentaires englobant plusieurs lignes de code.


Pas à ma connaissance. Il y a bien des détournements possibles, mais je
les trouve assez crade. Eventuellement, rédige tes commentaires sous forme
de POD, comme ça tu auras en même temps une belle page de man ;-)

--
"Je deteste les ordinateurs : ils font toujours ce que je dis, jamais ce
que je veux !"
"The obvious mathematical breakthrough would be development of an easy
way to factor large prime numbers." (Bill Gates, The Road Ahead)

Avatar
Paul Gaborit
À (at) Wed, 25 May 2005 14:57:20 +0200,
"Gérard Breiner" écrivait (wrote):
Je me demande s'il existe actuellement une version de Perl qui supporte les
commentaires englobant plusieurs lignes de code.


Le plus simple est d'utiliser POD. Et pour que ce faux POD ne gêne pas un
éventuel et réel contenu POD (vous documentez votre code, n'est-ce pas?), vous
pouvez utiliser la construction suivante :

=for mon_commentaire_muliligne

...
.. vos lignes à commenter
...

=end mon_commentaire_muliligne

Comme d'habitude, pour en savoir plus lire perlpod. En français :
<http://perl.enstimac.fr/DocFr/perlpod.html>

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

Avatar
Gérard Breiner
Je vous remercie pour cette réponse détaillée.
Cependant, juste avant qu'elle me parvienne, j'ai trouvé ceci
http://www.perl.com/pub/a/2002/08/13/comment.html?page=2 et installé le
module "Acme-Comment". Je développe sur PC sous Windows XP avec Active Perl
5.8. J'utilise PPM pour installer mes modules.
Je précise cela parce que la version 5.6 ne prend pas en charge ce module.
Ce module permet entre autre d'utiliser la même notation qu'en C++ pour les
commentaires. Ce module permet en outre de définir notre propre notation.
Exemple : use Acme::Comment start => '/#', end => '#/';
Voila, j'ai pensé que cette information pourrait, de façon générale, être
utile.

Cordialement.

Gérard Breiner

"Paul Gaborit" a écrit dans le message de
news:

À (at) Wed, 25 May 2005 14:57:20 +0200,
"Gérard Breiner" écrivait (wrote):
Je me demande s'il existe actuellement une version de Perl qui supporte
les
commentaires englobant plusieurs lignes de code.


Le plus simple est d'utiliser POD. Et pour que ce faux POD ne gêne pas un
éventuel et réel contenu POD (vous documentez votre code, n'est-ce pas?),
vous
pouvez utiliser la construction suivante :

=for mon_commentaire_muliligne

...
.. vos lignes à commenter
...

=end mon_commentaire_muliligne

Comme d'habitude, pour en savoir plus lire perlpod. En français :
<http://perl.enstimac.fr/DocFr/perlpod.html>

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



Avatar
Paul Gaborit
À (at) Wed, 25 May 2005 17:27:40 +0200,
"Gérard Breiner" écrivait (wrote):
Cependant, juste avant qu'elle me parvienne, j'ai trouvé ceci
http://www.perl.com/pub/a/2002/08/13/comment.html?page=2 et installé le
module "Acme-Comment". Je développe sur PC sous Windows XP avec Active Perl
5.8. J'utilise PPM pour installer mes modules.
Je précise cela parce que la version 5.6 ne prend pas en charge ce module.
Ce module permet entre autre d'utiliser la même notation qu'en C++ pour les
commentaires. Ce module permet en outre de définir notre propre notation.
Exemple : use Acme::Comment start => '/#', end => '#/';


Ce module remplit effectivement la fonction demandée (et bien plus
encore).

Mais, d'une part il faut l'installer (car sinon votre script ne fonctionne
plus) et d'autre part il allonge (un peu) le temps de compilation puisqu'il
doit filtrer tout le source avant de le passer au compilateur Perl. La phase
de compilation ayant lieu au lancement du script, cela ralentit un peu
l'exécution. Ça peut devenir problèmatique si ce script est lancé de
nombreuses fois....

Dernière remarque mais qui n'est qu'un avis personnel : la plupart des modules
placés dans l'espace de nom 'Acme' sont plus des modules d'amusement ou de
démonstration que des "vrais" modules utiles. ;-)

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

Avatar
Gérard Breiner
"Paul Gaborit" a écrit dans le message de
news:

À (at) Wed, 25 May 2005 17:27:40 +0200,
"Gérard Breiner" écrivait (wrote):
Cependant, juste avant qu'elle me parvienne, j'ai trouvé ceci
http://www.perl.com/pub/a/2002/08/13/comment.html?page=2 et installé le
module "Acme-Comment". Je développe sur PC sous Windows XP avec Active
Perl
5.8. J'utilise PPM pour installer mes modules.
Je précise cela parce que la version 5.6 ne prend pas en charge ce
module.
Ce module permet entre autre d'utiliser la même notation qu'en C++ pour
les
commentaires. Ce module permet en outre de définir notre propre notation.
Exemple : use Acme::Comment start => '/#', end => '#/';


Ce module remplit effectivement la fonction demandée (et bien plus
encore).

Mais, d'une part il faut l'installer (car sinon votre script ne fonctionne
plus) et d'autre part il allonge (un peu) le temps de compilation
puisqu'il
doit filtrer tout le source avant de le passer au compilateur Perl. La
phase
de compilation ayant lieu au lancement du script, cela ralentit un peu
l'exécution. Ça peut devenir problèmatique si ce script est lancé de
nombreuses fois....


Dernière remarque mais qui n'est qu'un avis personnel : la plupart des
modules
placés dans l'espace de nom 'Acme' sont plus des modules d'amusement ou de
démonstration que des "vrais" modules utiles. ;-)



Ma modeste expérience en Perl m'empêche sans doute de mesurer tous les
inconvénients d'utiliser des modules externes.
Cependant, il me semble que s'il ne fallait utiliser que les modules de
bases, nous risquerions de nous priver de modules qui nous permettraient de
faire les choses plus simplement et plus rapidemment. Par exemple des
modules comme File::Finder, Date-Calc sont plutôt utiles et pourtant il faut
les installer pour pouvoir les utiliser. Il est vrai que devoir ajouter un
module uniquement pour avoir des commentaires mulitlignes styles C, c'est un
peu dommage et on peut légitimement se demander pouquoi une telle
fonctionnalité n'a pas encore été intégré dans le langage lui-même.
Enfin, je ne veux pas entrer dans une polémique mais votre réponse
m'interpelle en ce sens que : "faut-il n'utiliser que les modules de bases
?".

Cordialement.

Gérard Breiner
Institut D'Astrophysique Spatiale
91405 Orsay Campus

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



Avatar
Thomas vO
bonjour,

À (at) Thu, 26 May 2005 10:41:53 +0200,
"Gérard Breiner" nous disait (told us):
"Paul Gaborit" a écrit dans le message de
news:
Dernière remarque mais qui n'est qu'un avis personnel : la plupart
des modules placés dans l'espace de nom 'Acme' sont plus des
modules d'amusement ou de démonstration que des "vrais" modules
utiles. ;-)



Ma modeste expérience en Perl m'empêche sans doute de mesurer tous les
inconvénients d'utiliser des modules externes.
[...]
Enfin, je ne veux pas entrer dans une polémique mais votre réponse
m'interpelle en ce sens que : "faut-il n'utiliser que les modules de
bases ?".


je ne crois pas que c'était le but de son propos... amha, il voulait
simplement parler des modules Acme::*, et pas de tous les modules...

--
Thomas vO - <http://perso.enstimac.fr/~vanouden/>


Avatar
Paul Gaborit
À (at) Thu, 26 May 2005 11:05:26 +0200,
Thomas vO écrivait (wrote):
À (at) Thu, 26 May 2005 10:41:53 +0200,
"Gérard Breiner" nous disait (told us):
Ma modeste expérience en Perl m'empêche sans doute de mesurer tous les
inconvénients d'utiliser des modules externes.
[...]
Enfin, je ne veux pas entrer dans une polémique mais votre réponse
m'interpelle en ce sens que : "faut-il n'utiliser que les modules de
bases ?".


je ne crois pas que c'était le but de son propos... amha, il voulait
simplement parler des modules Acme::*, et pas de tous les modules...


C'est tout à fait ça. Pour la plupart des autres modules, au contraire,
j'engage tout le monde à les utiliser : il est inutile de (souvent mal)
réinventer la roue...

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


Avatar
Rue des Prairies
Bonjour à tous,

Je me demande s'il existe actuellement une version de Perl qui supporte les
commentaires englobant plusieurs lignes de code.

Bien cordialement.

Gérard Breiner
Institut d'Astrophysique Spatiale
Bat 121
91406 Orsay Campus


Bonjour,


Ça vaut ce que ça vaut, mais il m'arrive de faire :
unless(1) {

le code à mettre en commentaire

}

Olivier.

Avatar
Paul Gaborit
À (at) Thu, 26 May 2005 14:18:10 +0200,
Rue des Prairies écrivait (wrote):
Ça vaut ce que ça vaut, mais il m'arrive de faire :
unless(1) {

le code à mettre en commentaire

}


Ou sa variante plus classique, lisible et courte :

if (0) {
...le code à mettre en commentaire...
}

Le seul défaut de cette méthode (la vôtre ou ma variante), c'est que le code à
mettre en commentaire ne l'est pas vraiment : il est quand même compilé et,
par conséquent, doit absolument être valide.

Ceci étant, il m'arrive de le faire aussi ;-)... mais dans une variante un peu
différente :

use constant DEBUG => 0;

...

if (DEBUG > 0) {
... code compilé mais inexistant au final si DEBUG vaut 0...
}

L'intérêt direct est évident. Par ailleurs si DEBUG est 0, le code n'existe
pas et même le test disparaît ce qui ne plombe pas les performances lorsqu'on
a fini le debug...

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