OVH Cloud OVH Cloud

Require/Do/Eval et fichier de configuration

1 réponse
Avatar
Eclice
Bonjour à tou(te)s,

Je travaille actuellement sur un petit projet Perl, dont je découpe le
code principal en petits bouts, à l'aide de require/do/eval (plutôt que
des packages/modules, puisque je n'entends pas réutiliser ce code dans
d'autres projets), et je suis confronté à un problème de visibilité des
variables.

Au début, dans mon programme monolythique, les variables globales
étaient déclarées de la sorte :

our $port = 9000;
our $title = 'mon zoli serveur';

et je les utilisais dans diverses 'sub' ainsi que dans le programme
'principal'.

Maintenant, je souhaite isoler ces variables dans un fichier que
j'appelerais 'config.pl' (par exemple), et qui ne ferait que les
contenir. J'ai donc créé mon config.pl de la sorte :

our $port = 9000;
our $title = 'mon zoli serveur';
1;

Et dans mon 'prog.pl' (qui contient le programme principal) :

require 'config.pl';

Malheureusement, cela n'a pas l'air de plaire à mon 'use strict'.

Quelqu'un pourrait-il me donner une piste?

Merci par avance,

Cordialement,

Eclice.


--
Sylvain Briole (a.k.a. Eclice)
E-Technik Doktorand / München
EMail : sbriole (à) free.fr

1 réponse

Avatar
Samuel Mouniée
Bonjour,

contenir. J'ai donc créé mon config.pl de la sorte :

our $port = 9000;
our $title = 'mon zoli serveur';
1;

Et dans mon 'prog.pl' (qui contient le programme principal) :

require 'config.pl';

Malheureusement, cela n'a pas l'air de plaire à mon 'use strict'.

Quelqu'un pourrait-il me donner une piste?


l'idee que j'applique est dans cet esprit ...

tu mets dans ton "config" :
package main;

{
title => "han",
port => 9000,
}


puis dans ton prog.pl

$config = do "config";



Merci par avance,


Padkoa,


.s'nuoM