Executer un script perl linux sous windows

bensirack Messages postés 5 Date d'inscription jeudi 22 novembre 2007 Statut Membre Dernière intervention 27 janvier 2009 - 22 janv. 2009 à 18:00
cs_croire Messages postés 20 Date d'inscription lundi 2 août 2010 Statut Membre Dernière intervention 22 mai 2012 - 24 déc. 2011 à 22:01
bonjour j'ai un script perl ki marche correctement sur linux mais que je dois executer sous windows. j'ai essaye de faire quelque modif pour qu'elle marche mais rien n'y fait. dc je sollicite votre aide pour voir si quelqu'un a deja eu a faire à une telle situation. le script vise a decompresser un fichier compresser unix au format .dat et mettre le contenu ds une fichier texte.


voici le code :


use strict;
my $DOSSIER="F:\Pabx_20090107\raw";
my $ligne;
my $n;
my $i;
my $k1;
my $k2;
my @tabl1;
my @tabl2;
my $val;

  sub eclate_fic {


 my $occur;


 my $element;


 my @tabl2;


 my $nb;


 my $j;


 my $cpt=0;
 if (-e "$_[0]") # test de l'existence du fichier binaire a eclater


        {


  print "Le fichier en cours de traitement est $_[0] \n";


  $element=system ("zcat $_[0]>..\result.txt");
  
  $nb=0;
  $j=0;
  open (FIC,">>..\result.txt") or die ("Erreur fichier result : $!\n");
  my $sortie = select(FIC);
  select($sortie);
  $cpt=1;    }
 else
 { print "Le fichier $_[0] est introuvable ds le syst de fichier\n";
 }
 return $cpt; }


  sub insert_ligne {
  printf("Post : ".substr($_[0],35,30)."\n");
  printf("Num appelé :".substr($_[0],5,30)."\n");
  printf("Cout:".substr($_[0],191,10)."\n");
  printf("Debut appel :".substr($_[0],441,17)." \n");
  printf("Fin appel :".substr($_[0],169,17)."\n");
  printf("Durée Total :".substr($_[0],201,10)."\n");
    }
chdir($DOSSIER)||die("Erreur chdir ");
@tabl1=glob('tax*.dat');
$n=0;
[mailto:$n=@tabl1 $n=@tabl1];
$i=0;
while($i<$n)
 {
         [mailto:$ligne=@tabl1[$i $ligne=@tabl1[$i]];
$val=&eclate_fic($ligne); 
 if ($val=1)
   {
    open (CHEM,"<..\result.txt")or die ("Erreur ouverture fichier result en lecture: $!\n");
    @tabl2=<CHEM>;
    [mailto:$k1=@tabl2 $k1=@tabl2];
    $k2=1; # pour sauter la ligne de description
   while($k2<$k1)
   {
     &insert_ligne(@tabl2[$k2]);
     $k2++;
   }
   }
   $i++1;
 };

1 réponse

cs_croire Messages postés 20 Date d'inscription lundi 2 août 2010 Statut Membre Dernière intervention 22 mai 2012
24 déc. 2011 à 22:01
bj je suis déutante en perl et j'ai a faire un tp sur l'indexation des document et puis construire le fichier inverse moi je travaille sous windows et là je suis vraiment bloqué si tu peux m'aidé merci
0