# Perl: Qui utilise Getopt::Euclid ?

**URL:** <https://www.debian-fr.org/t/perl-qui-utilise-getopt-euclid/57498>\
**Category:** Programmation\
**Created:** [Février 21, 2016, 2:43 UTC](https://www.debian-fr.org/t/perl-qui-utilise-getopt-euclid/57498 "2016-02-21T14:43:30Z")\
**Posts on this page:** 4\
**Page:** 1

<div class="post-metadata">

**Author:** ![josephtux](https://www.debian-fr.org/user_avatar/www.debian-fr.org/josephtux/32/3985_2.png) [@josephtux](https://www.debian-fr.org/u/josephtux)\
**Post date:** [Février 21, 2016, 2:43 UTC](https://www.debian-fr.org/t/perl-qui-utilise-getopt-euclid/57498/1 "2016-02-21T14:43:30Z")

</div>

Bonjour,  
je me bats avec ce module, qui semble pourtant bien prometteur et se présente comme simplificateur pour gérer les arguments de la ligne de commande.

Quelqu’un en a-t-il l’expérience, car mes échecs sont à peu près universels avec mes essais !

En gros:  
1 aucune des fonctions de contrôle ( type, conditions ) ne sont pris en compte  
2 la récupérations des valeurs ne se présente pas comme prévu ( le hash %ARGV est un “faux” hash, les clefs et leurs valeurs se trouvant toutes comme une liste de clés vides, sauf les listes anonymes, dans une référence de tableau comme attendu )

Bref je suis dans le brouillard…

---

<div class="post-metadata">

**Author:** ![MisterFreez](https://www.debian-fr.org/letter_avatar_proxy/v4/letter/m/bb73d2/32.png) [@MisterFreez](https://www.debian-fr.org/u/MisterFreez)\
**Post date:** [Février 21, 2016, 2:43 UTC](https://www.debian-fr.org/t/perl-qui-utilise-getopt-euclid/57498/2 "2016-02-21T14:43:30Z")

</div>

Jamais utilisé, mais d’après la documentation sur cpan :

[quote]When the module is loaded within a regular Perl program, it will:

```
[ul][li]locate any POD in the same *.pl file or its associated *.pod file.

[/li][li]extract information from that POD, most especially from the =head1 REQUIRED ARGUMENTS and =head1 OPTIONS sections,

[/li][li]build a parser that parses the arguments and options the POD specifies,

[/li][li]remove the command-line arguments from @ARGV and parse them, and

[/li][li]put the results in the global %ARGV variable (or into specifically named optional variables, if you request that -- see "Exporting Option Variables").[/li][/ul]

```

[/quote]

Il analyse le fichier .pod associé au .pl (seul le suffixe doit changer entre les deux) et analyse @ARGV pour créer %ARGV.

Tu as bien créé le .pod ?

---

<div class="post-metadata">

**Author:** ![josephtux](https://www.debian-fr.org/user_avatar/www.debian-fr.org/josephtux/32/3985_2.png) [@josephtux](https://www.debian-fr.org/u/josephtux)\
**Post date:** [Février 21, 2016, 6:08 UTC](https://www.debian-fr.org/t/perl-qui-utilise-getopt-euclid/57498/3 "2016-02-21T18:08:46Z")

</div>

C’est sans doute là le problème: j’ai mis mon pod en fin du fichier pl, après **END** comme recommandé par D CONWAY ( De l’art de programmer en Perl que je relis comme une bible, autant que je peux, en espérant m’améliorer ! ).  
Merci

---

<div class="post-metadata">

**Author:** ![josephtux](https://www.debian-fr.org/user_avatar/www.debian-fr.org/josephtux/32/3985_2.png) [@josephtux](https://www.debian-fr.org/u/josephtux)\
**Post date:** [Février 21, 2016, 6:18 UTC](https://www.debian-fr.org/t/perl-qui-utilise-getopt-euclid/57498/4 "2016-02-21T18:18:31Z")

</div>

Dommage, j’y ai cru, mais ce n’est pas encore ça.

Dans man Getopt::Euclid, je lis:

> [@](#):
>
> When the module is loaded within a regular Perl program, it will:
> 
> ```
> 1. locate any POD in the same *.pl file or its associated *.pod file.
> 
> ```

J’avais mis le code POD après **END** , mais en scindant en 2 fichiers, j’ai exactement les mêmes résultats.

je n’ai pas vraiment eu le temps de m’y replonger, et j’avoue même avoir un peu perdu le fil de mes tentatives.. à plus tard.
