[PERL] Acquisition écran

Bonjour,

Je souhaiterais faire une saisie écran et traiter l'info en PERL.
Exemple :
"Nom du fichier ?"
réponse (à stocker dans la variable $name)

et ensuite utiliser $name pour pouvoir plusieurs fichiers avec un seul programme en PERL (au lieu d'en faire 7 pour les 7 fichiers à ouvrir)

En fait se serait l'équivalent d'un "sscan" en C.

Ou alors est-ce que je doit faire un fichier texte avec tous les noms des fichiers, et je scrute ce fichier ?

Sachant que par la suite je souhaiterais automatiser le tout par un CRON

Merci

2 réponses

  • Votes
  • Date
  • Date décroissante
  1. Salut,
    je ne suis pas sur d'avoir compris mais si tu veux recuperer la frappe d'un utilisateur tu peux faire comme ca :

    $name = <STDIN>;

    A plus
    1. en fait je souhaite faire ça :
      print "Nom du fichier a analyser ?\t\n";
      $name_file = <STDIN>;
      
      #chop ($name_file = $_);
      
      SWITCH : {
      	/sm2.5/ and $name_file = sm2_5, last SWITCH;
      	/sm3.0/ and $name_file = sm3_0, last SWITCH;
      	/sm3.5/ and $name_file = sm3_5, last SWITCH;
      	/sm5ap/ and $name_file = sm5ap, last SWITCH;
      	/sm5cb/ and $name_file = sm5cb, last SWITCH;
      	/sm5lp/ and $name_file = sm5lp, last SWITCH;
      	/hdtmos/ and $name_file = hdtmos, last SWITCH;
      	$nothing = 1;
      }
      
      #chop ($techno =$_);
      
      SWITCH : {
      	if ($name_file =~ /sm2_5/) { $techno = SM2.5; last SWITCH; }
      	if ($name_file =~ /sm3_0/) { $techno = SM3.0; last SWITCH; }
      	if ($name_file =~ /sm3_5/) { $techno = SM3_5; last SWITCH; }
      	if ($name_file =~ /sm5ap/) { $techno = SM5AP; last SWITCH; }
      	if ($name_file =~ /sm5cb/) { $techno = SM5CB; last SWITCH; }
      	if ($name_file =~ /sm5lp/) { $techno = SM5LP; last SWITCH; }
      	if ($name_file =~ /hdtmos/) { $techno = HDTMOS; last SWITCH; }
      	$nothing = 1;
      }
      code>
      
      
      use FileHandle;
      
      $LECT  = FileHandle->new();
      $FileName = "/home/synergy/sisa01c/PERL_DEV/Fichier_Log/$name_file.log";
      
      open $LECT, $FileName || die ("Impossible d'ouvrir fichier log en lecture");
      if ($name_file =~ /sm2_5/ || $name_file =~ /sm3_0/ || $name_file =~ /sm3_5/ || $name_file =~ /hdtmos/) {
      	open(OUTFILE,">/home/synergy/sisa01c/PERL_DEV/Pareto_Lot_SM3_HDTMOS.txt") || die ("Impossible d'ouvrir fichier txt en ecriture");
      }
      else {
      	if ($name_file =~ /sm5ap/ || $name_file =~ /sm5cb/ || $name_file =~ /sm5lp/) {
      		open(OUTFILE,">/home/synergy/sisa01c/PERL_DEV/Pareto_Lot_SM5.txt") || die ("Impossible d'ouvrir fichier txt en ecriture");
      	}
      }
      </pre>