OVH Cloud OVH Cloud

fichier de configuration

6 réponses
Avatar
laborde stephane
Salut,

J'ai une petite question sur laquelle j'aimerais bien avoir quelques
feedbacks et savoir un peu comment certains d'entre vous ont pu traiter
ce problème s'ils l'ont rencontré. Je me demandais ces derniers temps
quels étaient les différents moyens d'inclure facilement un fichier de
configuration et de prendre les données contenues dedans de façon
transparente. J'entends par là : sans avoir à traiter le fichier de
config en question.

J'aime assez l'approche du php pour ça. Dans un script php, il
suffit d'écrire :

[code]
<?php

include("config.php");

/* le code du script
...
...
*/
?>
[/code]

avec un fichier config.php comme ceci :
[code]
<?php

$variable1=...;
$variable2=...;
$variable3=...;
/* ... */

?>
[/code]

Existe-t-il un moyen de procéder de la même façon en Perl, ça
pourraît être pratique, non ? Notamment pour des scripts cgi.

Comment faites-vous pour vos applis et autres scripts cgi ?

--
a+;
/Stephane/

6 réponses

Avatar
Jean-Michel Caricand
Salut,

J'ai une petite question sur laquelle j'aimerais bien avoir quelques
feedbacks et savoir un peu comment certains d'entre vous ont pu traiter
ce problème s'ils l'ont rencontré. Je me demandais ces derniers temps
quels étaient les différents moyens d'inclure facilement un fichier de
configuration et de prendre les données contenues dedans de façon
transparente. J'entends par là : sans avoir à traiter le fichier de
config en question.

J'aime assez l'approche du php pour ça. Dans un script php, il
suffit d'écrire :

[code]
<?php

include("config.php");

/* le code du script
...
...
*/
?>
[/code]

avec un fichier config.php comme ceci :
[code]
<?php

$variable1=...;
$variable2=...;
$variable3=...;
/* ... */

?>
[/code]

Existe-t-il un moyen de procéder de la même façon en Perl, ça
pourraît être pratique, non ? Notamment pour des scripts cgi.

Comment faites-vous pour vos applis et autres scripts cgi ?



Il me semble que c'est le but de l'instruction "require".

Avatar
Emmanuel Florac
Le Thu, 25 Aug 2005 01:53:27 +0200, laborde stephane a écrit :


Existe-t-il un moyen de procéder de la même façon en Perl, ça
pourraît être pratique, non ?


Oui, il existe plp qui est très sympa.

http://plp.juerd.nl/pod.plp

--
Si non confectus non reficiat.

Avatar
laborde stephane

Il me semble que c'est le but de l'instruction "require".


Je vais regarder de ce côté alors :)

Avatar
Paul
Pour moi, la seule facon qui fonctionnait était :
do ("config.pl");

mais désormais je fais toutes mes config en XML et je parse le fichier
XML...
et Hop... :-)

Le Thu, 25 Aug 2005 01:53:27 +0200
laborde stephane vous écriviez :

Salut,

J'ai une petite question sur laquelle j'aimerais bien avoir quelques
feedbacks et savoir un peu comment certains d'entre vous ont pu
traiter

ce problème s'ils l'ont rencontré. Je me demandais ces derniers temps
quels étaient les différents moyens d'inclure facilement un fichier de
configuration et de prendre les données contenues dedans de façon
transparente. J'entends par là : sans avoir à traiter le fichier de
config en question.

J'aime assez l'approche du php pour ça. Dans un script php, il
suffit d'écrire :

[code]
<?php

include("config.php");

/* le code du script
...
...
*/
?>
[/code]

avec un fichier config.php comme ceci :
[code]
<?php

$variable1=...;
$variable2=...;
$variable3=...;
/* ... */

?>
[/code]

Existe-t-il un moyen de procéder de la même façon en Perl, ça
pourraît être pratique, non ? Notamment pour des scripts cgi.

Comment faites-vous pour vos applis et autres scripts cgi ?

--
a+;
/Stephane/


Avatar
laborde stephane
Le Thu, 25 Aug 2005 11:04:34 +0200, laborde stephane a écrit :


Il me semble que c'est le but de l'instruction "require".


Je vais regarder de ce côté alors :)


C'est effectivement, ce dont j'avais besoin.
Merci :)

--
a+;
/stephane/


Avatar
Alexandre Jaquet

Salut,

J'ai une petite question sur laquelle j'aimerais bien avoir quelques
feedbacks et savoir un peu comment certains d'entre vous ont pu traiter
ce problème s'ils l'ont rencontré. Je me demandais ces derniers temps
quels étaient les différents moyens d'inclure facilement un fichier de
configuration et de prendre les données contenues dedans de façon
transparente. J'entends par là : sans avoir à traiter le fichier de
config en question.

J'aime assez l'approche du php pour ça. Dans un script php, il
suffit d'écrire :

[code]
<?php

include("config.php");

/* le code du script
...
...
*/
?>
[/code]

avec un fichier config.php comme ceci :
[code]
<?php

$variable1=...;
$variable2=...;
$variable3=...;
/* ... */

?>
[/code]

Existe-t-il un moyen de procéder de la même façon en Perl, ça
pourraît être pratique, non ? Notamment pour des scripts cgi.

Comment faites-vous pour vos applis et autres scripts cgi ?



Il me semble que c'est le but de l'instruction "require".



Pour loadé un fichier de conf en mémoire :


exemple suivant la langue passé en paramètre :

sub loadLanguage {
$lang = $query->param("lang");
#$lang =~ s/W//g; ;
$lang = uc ($lang);

open (FILE, "<$dirLang/$lang.conf") or die "cannot open file
$dirLang/$lang.conf";
while (<FILE>) {
(local our $label, local our $value) = split(/=/);
$SERVER{$label} = $value;
}
close (FILE);
}

le fichier $lang.conf contient une paire clé -valeur (pratique pour les
ites multilangues ...

ensuite parsé une page html et remplacé tous les champs
$LABEL{'nom_du_label'} oar la clef valeur stocké les fichiers de conf

et compressé le tout en gzip pour de meilleures performances et afficher
à l'écran


sub loadPage {
local our $page = $query->param("page");
#attention a la vulnérabilité nul character ...
open (FILE, "<$dir/$page.html") or die "cannot open file
$dir/$page.html";
local our $content;
while (<FILE>) {
s/$LABEL{'([w]+)'}/ exists $SERVER{$1} ? $SERVER{$1} : $1 /eg;
s/$LANG/$lang/g;
$content .= $_;
}
$content = Compress::Zlib::memGzip($content);
print "Content-Length: ", length($content) , "n";
print "Content-Encoding: gzipn" ;
print "Content-Type: text/htmlnn";
print $content;
close (FILE);
}

Alexandre Jaquet