Perl est ton ami
Tu peux construire le script assez facilement.
Le module Config::General te permet de parser ton fichier var pour en sortir un hachage qui contient tes valeurs.
Tu n'a plus qu'a faire les substitutions dans le second fichier :
exemple de fichier de substitution
-------------------------------------------
#!/usr/bin/perl
use Config::General;
my $input_filename = "connexion.inc.php.modele";
my $output_filename = "connexion.inc.php";
my %config=ParseConfig(vars);
## Lecture de l'entree
open(INPUT,$input_filename);
my @TABLEAU = ;
close (INPUT);
## Ecriture de la sortie
open (OUTPUT,"> $output_filename");
foreach $ligne (@TABLEAU) { # Pour chaque ligne
foreach $variable (keys %config) { # pour chaque variable
s/$variable/$config{$variable}/g; # on substitue
}
print (OUTPUT,$ligne);
}
close (OUTPUT); # fini :)
-----------------------------------------------------
Hope it helps :)
PS : jsuis sur que ça peut se faire en deux fois moins de lignes en obfuscated perl :)
# And the winner is ... perl
Posté par Swirly . En réponse au message substitution dans un fichier. Évalué à 2.
Tu peux construire le script assez facilement.
Le module Config::General te permet de parser ton fichier var pour en sortir un hachage qui contient tes valeurs.
Tu n'a plus qu'a faire les substitutions dans le second fichier :
exemple de fichier de substitution
-------------------------------------------
#!/usr/bin/perl
use Config::General;
my $input_filename = "connexion.inc.php.modele";
my $output_filename = "connexion.inc.php";
my %config=ParseConfig(vars);
## Lecture de l'entree
open(INPUT,$input_filename);
my @TABLEAU = ;
close (INPUT);
## Ecriture de la sortie
open (OUTPUT,"> $output_filename");
foreach $ligne (@TABLEAU) { # Pour chaque ligne
foreach $variable (keys %config) { # pour chaque variable
s/$variable/$config{$variable}/g; # on substitue
}
print (OUTPUT,$ligne);
}
close (OUTPUT); # fini :)
-----------------------------------------------------
Hope it helps :)
PS : jsuis sur que ça peut se faire en deux fois moins de lignes en obfuscated perl :)