Perl: lecture et ecriture ds 1 fichier

Fermé
Max - 3 août 2005 à 13:22
mamiemando
Messages postés
31298
Date d'inscription
jeudi 12 mai 2005
Statut
Modérateur
Dernière intervention
10 août 2022
- 8 août 2005 à 01:44
Bonjour,

Langage perl

En entrée j'ai un fichier .txt.
Je veux lire ce fichier et écrire dans certains champs d'un autre fichier qui sera utliser pour la jour une table de la base Oracle.

J'ai la structure de mon fichier .txt (champs et position)

Comment faire ?

Merci d'avance pour votre contribution

7 réponses

mamiemando
Messages postés
31298
Date d'inscription
jeudi 12 mai 2005
Statut
Modérateur
Dernière intervention
10 août 2022
7 392
4 août 2005 à 01:49
Tu peux trouver les bases ici :
http://www.med.univ-rennes1.fr/~poulique/cours/perl/introperl.html

Mais je ne suis pas sûr que tu puisses facilement modifier le contenu du fichier. Pour moi il faut que tu prennes le fichier squelette en paramètre, que tu le passes à ton programme perl, et que tu génère un fichier rempli en sortie...

Bonne chance
0
Merci pour la contribution

Effectivement, j'ai en variables, le squellette de mon fichier. Mais pour le fichier en sortie, la structure est differente.

Je rame à ce niveau. une redirection ne suffit pas!!!

comment ecrire dans ce fichier dont la structure n'est declarée.

merci d'avance
0
mamiemando
Messages postés
31298
Date d'inscription
jeudi 12 mai 2005
Statut
Modérateur
Dernière intervention
10 août 2022
7 392
4 août 2005 à 18:02
Ben il suffit d'ouvrir un fichier en lecture, récupérer les données interessantes, faire tes calculs, puis écrire le fichier de sortie en conséquence...
#!/usr/bin/perl -w

($f,$out) = @ARGV;
if (@ARGV!=2){
    print "Usage : $0 fichier_in fichier_out \n";
    die "$!\n";
}

open FICHIER, "$f";
open OUT, "> $out";

#Lire le fichire d'entrée

#Ecrire le fichier de sortie

close FICHIER;
close OUT;

Non ? Ou j'ai mal compris ?

Bonne chance en tout cas
0
Merci encore mamiendo

une derniere question sur la structure du fichier en sortie.

A quel niveau dois je declarer ma structure.

Je vois un peu plus clair avec ton aide.

Bon courage
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
mamiemando
Messages postés
31298
Date d'inscription
jeudi 12 mai 2005
Statut
Modérateur
Dernière intervention
10 août 2022
7 392
5 août 2005 à 15:41
Tu l'écris dans l'ordre ;)
#....
#$out nom du fichier de sortie
open OUT, "> $out";
#...
print OUT "J'ecris le contenu de la table de hachage hash que j'ai deja rempli auparavant dans mon joli programme perl\n";

foreach $i (sort keys %hash){
    if (defined($hash{$i})){
        print OUT "$hash{$i}\n";
    }
}

#...
close OUT;
0
Mamiemando,

Comment transformer un fichier plat sans separateur, en un fihier
avec des champs separés par une virgule.

langae perl

au secours
0
mamiemando
Messages postés
31298
Date d'inscription
jeudi 12 mai 2005
Statut
Modérateur
Dernière intervention
10 août 2022
7 392
8 août 2005 à 01:44
0