OVH Cloud OVH Cloud

config.pl separé

3 réponses
Avatar
Asterbing
Bonjour à tous,

Soit un long script qui contient un ensemble de constantes configurables
par l'utilisateur. Je souhaite rassembler ces constantes dans un fichier
config.cgi à part et les incorporer dans le script principal gestats.cgi
via un :

require "config.cgi";

Ainsi, l'utilisateur ne touchera pas au corps du script lui-même (pas
d'erreur possible).

1) Est-ce une bonne idée ?
2) Le choix de "require" est-il plus adapté que "use" dans ce cas ?
3) Faut-il aussi mettre le chemin de perl dans config.cgi ?
4) Est-ce que j'oublies quelque chose, docteur ?

3 réponses

Avatar
Paul Gaborit
À (at) Tue, 14 Mar 2006 11:57:38 +0100,
Asterbing écrivait (wrote):
Soit un long script qui contient un ensemble de constantes configurables
par l'utilisateur. Je souhaite rassembler ces constantes dans un fichier
[...]

1) Est-ce une bonne idée ?


Oui. ;-)

[...]
4) Est-ce que j'oublies quelque chose, docteur ?


Consulter CPAN pour chercher les modules que font déjà la même
chose... Il en existe de nombreux. Un parmi d'autres :
Config::General.

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

Avatar
Asterbing
In article ,
says...
Consulter CPAN pour chercher les modules que font déjà la même
chose... Il en existe de nombreux. Un parmi d'autres :
Config::General.



Malheureusement, je ne peux pas installer de nouveau module, le sysadmin
est contre et pousse le PHP. Bon, bref, je dois faire avec ce que j'ai,
mais ça n'est sans doute pas très gênant.

A ce point, j'ai réuni ces constantes (enfin des fausse puisque je fait
des "my $" car la déclaration de const en perl est un peu longue je
trouve ; plus la place de commentaire à droite) dans un config.cgi et ai
mis un "use 'config.cgi';" dans le script principal.

Mais, ça ne semble fonctionner (F12 pour Syntax Check dans ActivePerl)
que si je ne met pas "use strict;"

A noter que je run ça avec -w.

Qué passa ?

Avatar
Asterbing
In article ,
says...
mis un "use 'config.cgi';" dans le script principal.

Oops, je voulais dire un

require 'config.cgi';