Perl: lecture et ecriture ds 1 fichier

Max -  
mamiemando Messages postés 33228 Date d'inscription   Statut Modérateur Dernière intervention   -
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
Configuration: WNNT, UNIX,

7 réponses

  1. mamiemando Messages postés 33228 Date d'inscription   Statut Modérateur Dernière intervention   7 940
     
    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
  2. Max
     
    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
  3. mamiemando Messages postés 33228 Date d'inscription   Statut Modérateur Dernière intervention   7 940
     
    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
  4. Max
     
    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
  5. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  6. mamiemando Messages postés 33228 Date d'inscription   Statut Modérateur Dernière intervention   7 940
     
    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
  7. Max
     
    Mamiemando,

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

    langae perl

    au secours
    0