1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42
   | #!C:/EasyPHP/perl/bin/perl.exe -w
#NE PAS OUBLIER D'ADAPTER TON SHEBANG TOUT EN GARDANT -w
use strict;
 
#saisie des fichiers d'E/S
print "fichier input : ";
my $input = <STDIN>;
chomp $input;
print "fichier output : ";
my $output = <STDIN>;
chomp $output;
 
#ouvrir input et mettre phenomène dans un tableau et durée totale dans un autre
#@phen et @dure doivent avoir le même nombre de colonne
my (@tab,@phen,@dure);
open (IN, $input)||die "probleme lors de l'ouverture de $input\n\nerreur : $!";
while (<IN>) {
  @tab = split(" ", $_);
  push @phen, $tab[0];
  push @dure, $tab[2];
  @tab = ();
}
close IN;
 
#test sur le nombre de colonne de chaque tableau
if ($#phen != $#dure) {
  print "erreur : format fichier";
  last;
}
 
#test réussi => ouverture de output et écriture des résultats
else {
  open (OUT, ">$output")||die "probleme lors de l'ouverture de $output\n\nereeur : $!";  
  print OUT "$phen[0]\t$dure[0]\n";
  foreach my $i (1..$#phen) {
    my $time = $dure[$i] - $dure[$i-1];
    print OUT "$phen[$i]\t$time\n";
  }
  close OUT;
}
 
exit; | 
Partager