[PERL] Acquisition écran

Fermé
sandrill0n Messages postés 79 Date d'inscription lundi 2 mai 2005 Statut Membre Dernière intervention 22 octobre 2011 - 15 juin 2005 à 13:02
sandrill0n Messages postés 79 Date d'inscription lundi 2 mai 2005 Statut Membre Dernière intervention 22 octobre 2011 - 15 juin 2005 à 14:04
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
A voir également:

2 réponses

dedale82 Messages postés 403 Date d'inscription jeudi 15 avril 2004 Statut Membre Dernière intervention 28 octobre 2008 282
15 juin 2005 à 13:29
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
0
sandrill0n Messages postés 79 Date d'inscription lundi 2 mai 2005 Statut Membre Dernière intervention 22 octobre 2011
15 juin 2005 à 14:04
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");
	}
}
0