[Résolu] Lecture dans un fichier TXT

Lecture dans un fichier TXT [Résolu] - Perl - Programmation

Marsh Posté le 23-06-2014 à 10:29:24    

Bonjour à tout le monde,  
 
J'ouvre un nouveau sujet, pour un script que je bataille à terminer.
 
Je dois lire dans un fichier .txt des valeurs et les "mettre" dans une requete.
J'ai travaillé sur le projet de création et d'alimentation d'une base de données.
 
Les données sont sous la forme de :
 
base_de_donnée;
login;
mot_de_passe;
adresse_IP;
 
Et je dois les mettre dans mes requetes pour l'identification de ma base de données :
 
 

Code :
  1. ##
  2. mysql user database name  my $db ="base_de_donnée";   
  3. ## mysql database user name
  4.   my $user = "utilisateur";
  5. ## mysql database password
  6. my $pass = "mot_de_passe";
  7.  
  8. ## user hostname : @IP
  9. my $host="adresse_ip_BdD";


J'ai utilisé un morceau de code de Gilou, mais je suis bloqué quand il faut donner la valeur aux variables $db,^$user, ...
 

Code :
  1. Sub connexion_server’()
  2. open(F,'c:/connexion_bdd.txt')|| die "impossible";
  3. # debut de la boucle ligne à ligne sur le fichier
  4. while (<F> )
  5. {
  6.   # récupération des éléments
  7.   ($id) = split/;/,$ligne;
  8.   # et on insere dans le script
  9.   $identifiant = $id;
  10. Foreach $identifiant  # bug du cerveau à partir de la boucle qui va inserer les valeurs dans les requetes :  :pfff:        {
  11. ## mysql user database name     my $db ="base"; 
  12. ## mysql database user name     my $user = "utilisateur"; 
  13. ## mysql database password     my $pass = "motdepasse"; 
  14. ## user hostname : @ IP     my $host="adresse_IP";
  15.        }
  16. }


 
Merci
@+


Message édité par clubber43 le 24-06-2014 à 08:44:42

---------------
Merci
Reply

Marsh Posté le 23-06-2014 à 10:29:24   

Reply

Marsh Posté le 23-06-2014 à 21:44:07    

:hello: !

 

A mon avis, tu as plusieurs solutions pour ta question : si chacun des valeurs ne sont pas sur la même ligne, soit tu lis les n lignes en stockant tes valeurs dans un tableaux que tu utilises ensuite, soit tu lis ton fichier ligne par ligne.

 

Pour la 2e solution, je te propose ceci :

Code :
  1. open(F,'c:/connexion_bdd.txt')|| die "impossible";
  2. my $identifiant = ( split/;/,<F> )[0];
  3. my $db = ( split/;/,<F> )[0];
  4. my $user = ( split/;/,<F> )[0];
  5. my $pass = ( split/;/,<F> )[0];
  6. my $host= ( split/;/,<F> )[0];
 

Edit : Ou alors une solution du genre :

Code :
  1. open(F,'c:/connexion_bdd.txt')|| die "impossible";
  2. my @test;
  3. foreach my $i (1..5)
  4. {
  5.   push( @test, ( split/;/,<F> )[0] );
  6. }
  7. my $identifiant = $test[0];
  8. my $db = $test[1];
  9. my $user = $test[2];
  10. my $pass = $test[3];
  11. my $host= $test[4];
 

Après, je laisse Maître gilou exposer sa solution [:cupra]
:jap:


Message édité par Soileh le 23-06-2014 à 21:50:13

---------------
And in the end, the love you take is equal to the love you make
Reply

Marsh Posté le 24-06-2014 à 08:23:20    

Merci soileh pour le coup de pouce,  
Je vais travailler dessus aujourd'hui ^^
 
Gilou m'a beaucoup aidé ces derniers mois pour un projet, je ne veux pas le déranger encore une fois  :)  
Mais je vais prendre note de tes lignes de codes et le tourner pour mon script !!
 
Merci
@+


---------------
Merci
Reply

Marsh Posté le 24-06-2014 à 08:44:25    

Et bien la solution de lecture ligne à ligne est parfaite,  
Elle marche super bien ^^
 
 
Merci pour le coup de main !
 
 
Merci
@+


---------------
Merci
Reply

Marsh Posté le 24-06-2014 à 09:24:56    

Y'a une fonction toute faite pour parser les fichiers de conf : parse_ini_file()


---------------
D3
Reply

Marsh Posté le 24-06-2014 à 09:37:19    

OK, je ne connaissait pas;  
Je prends note et sauvegarde la page ^^
 
Merci
@+


---------------
Merci
Reply

Marsh Posté le 24-06-2014 à 09:37:27    

oups categorie perl, autant pour moi :- /


---------------
D3
Reply

Marsh Posté le 24-06-2014 à 09:38:03    

Oui, mais c'est pas grave, je suis entrain de egarder si on peut l 'adapter au PERL ^^


---------------
Merci
Reply

Marsh Posté le 24-06-2014 à 14:51:35    

Config::IniFiles  :p

 

A+,


Message édité par gilou le 24-06-2014 à 15:38:02

---------------
There's more than what can be linked! --    Iyashikei Anime Forever!    --  AngularJS c'est un framework d'engulé!  --
Reply

Marsh Posté le 26-06-2014 à 09:15:00    

Merci ^^
 
@+


---------------
Merci
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed