Tableau(perl)

Résolu
Bonjour,
SVP , dans mon script,j'ai fait plusieurs traitements sur des données,entre autre la création d'un tableau et la mise de quelques données dans ce tableau. j'ai besoin maintenant de diriger ce tableau vers un nouveau fichier :s
how can i do it ?!!!
merci pour vos réponses :)
Configuration: Windows XP
Firefox 2.0

6 réponses

  • Votes
  • Date
  • Date décroissante
  1. Modérateur
    Salut,
    open NOUVEAU_FICHIER, "> tableau.txt"
      or die "E/S : $!\n";
    
    print NOUVEAU_FICHIER "@tableau";
    close NOUVEAU_FICHIER;
    1. re bonjour
      encore un tout petit problème :s
      j'ai fait la redirection du tableau contenant les dates vers un nouveau fichier que j'ai appelé dates.txt (NEWFILE);
      dans ce nouveau fichier,j'essaye de traiter les dates par rapport à leur ancienneté, séparer ceux qui datent d'avant Juillet 2008...
      j'ai juste ajouté le bout de code suivant :

      open NEWFILE, "> dates.txt"
      or die "E/S : $!\n";

      print NEWFILE join("\n",@lm_tabDates)."\n";
      while(<NEWFILE>){
      my($line) = (\d\d)-(\d\d)-(\d\d);
      my($ddmmyy) = "$1$2$3";
      if($ddmmyy lt "010708")
      {
      print"old file\n";
      }
      }
      close NEWFILE;

      Je veux juste savoir si ce que je suis entrain de faire est correct ou pas :)
      1. Modérateur
        Re,

        Tu ne peux pas lire le handle NEWFILE puisqu'il est ouvert seulement en écriture
        open NEWFILE, "> dates.txt"
          or die "E/S : $!\n";
        
        print NEWFILE join("\n",@lm_tabDates)."\n";
        close NEWFILE;
        
        # je ferme le handle en écriture
        # et j'ouvre un nouveau handle, en lecture cette fois
        
        open READNEWFILE,"dates.txt"
          or die "E/S : $!\n";
        
        while(<READNEWFILE>){
          next unless /(\d\d)-(\d\d)-(\d\d)/; # c'est juste un test
                                              #pour éviter les eventuelles
                                              # messages de warning
          my $ddmmyy = "$1$2$3";
          if ($ddmmyy lt "010708") {
            print"old file\n";
          }
        }
        close READNEWFILE;


        1. je confirme le post de LAMI

          j'ajouterai que

          open READNEWFILE,"dates.txt"
          or die "E/S : $!\n";

          ouvre, par défaut, le fichier en lecture.
          tu peux aussi faire

          open READNEWFILE,"<dates.txt"
          or die "E/S : $!\n";

          (avec le signe "inférieur" pour dire "ouvrir le fichier en lecture")