autamatique du langage médical".
le professeur, nous a confié un projet en perl, le programme doit faire appel à un script.bat.
notre problème c'est qu'on ne sais pas comment appeler un script (.bat) à l'interieur d'un programme perl, où bien comment on peut mettre les lignes du script dans le programme perl!!
rmq: le script dont je parle est une suite de commande qui permet d'exploiter un logiciel OpenSource " UNITEX" pour le traitement et la recherche des _expression dans un fichier source.
dans l'attente de votre réponse je vous prie Monsieur d'agréer mes salutations les plus distinguées.
nelfadly@yahoo.fr
# system() ou exec()
Posté par Ben (site web personnel) . Évalué à 2.
si c'est un langage inteprété par le système (shell-script par exemple)
vous pouvez l'éxécuter en utilisant l'une des deux commandes:
exec("fichier.bat")
ou
system("fichier.bat")
ces deux fonctions sont différentes dans leur implémentation (system() fais un fork() puis attend la din de l'éxécution, alors que exec() ne fork() pas) mais le résultat est équivalent.
--
http://perldoc.perl.org/functions/system.html
et plus généralement : http://perldoc.perl.org
Tout homme qui dirige, qui fait quelque chose, a contre lui ceux qui voudraient faire la même chose, ceux qui font précisément le contraire, et surtout la grande armée des gens d'autant plus sévères qu'ils ne font rien du tout. -- Jules Claretie
[^] # Re: system() ou exec()
Posté par nelfadly . Évalué à 0.
# interet?
Posté par popopo333 . Évalué à 1.
enfin moi je dis ca.... c'est juste que si plus de fichier .bat et ben plus de probleme pour l'appeler...
[^] # Re: interet?
Posté par nelfadly . Évalué à 1.
merci encore
[^] # a l aide...perl
Posté par nelfadly . Évalué à 1.
Dans mon programme ….
….
…
open (FILE3, ">regexp.txt");
for(my $i=0;$i <= $#tab;$i++){
print FILE3 "$tab[$i] ";
}#for
close (FILE3);
exec ("test3.bat");
….
…
le contenu de test3.bat est le suivant :
"C:\Unitex\App\Reg2Grf" "C:\Documents and Settings\naji\Mes documents\French\regexp.txt"
"C:\Unitex\App\Grf2Fst2" "C:\Documents and Settings\naji\Mes documents\French\regexp.grf"
"C:\Unitex\App\Locate" "C:\Documents and Settings\naji\Mes documents\French\Corpus\80jours.snt" "C:\Documents and Settings\naji\Mes documents\French\regexp.fst2" "C:\Documents and Settings\naji\Mes documents\French\Alphabet.txt" l i 200
"C:\Unitex\App\Concord" "C:\Documents and Settings\naji\Mes documents\French\Corpus\80jours_snt\concord.ind" "Courier new" 3 40 55 CL html "C:\Documents and Settings\naji\Mes documents\French\Alphabet_sort.txt"
Pause
Rmq : notre programme est situé au "C:\Documents and Settings\naji\Mes documents\French\
Probléme : le programme perl arrive à écrire dans le fichier « regexp.txt » mais le script « test3.bat » n’arrive pas à exploiter ce dernier.
Est-ce un probléme de blanc, de codage de fichier…
Je vous remercie par avance
[^] # Re: a l aide...perl
Posté par gc (site web personnel) . Évalué à 1.
print FILE3 "$tab[$i] ";
}#for
ouch ca c'est pas du beau perl.
en perl tu as du "sucre syntaxique" pour iterer sur un tableau :
foreach my $value (@tab) {
print FILE3 "$value ";
}
(il y a plus court mais ce serait moins lisible, autant en rester là pour le moment quand on débute)
[^] # Re: a l aide...perl
Posté par nelfadly . Évalué à 0.
# si vous avez une idée de ce qui se passe!!, n'hésitez pas svp
Posté par nelfadly . Évalué à 0.
donc dans avant d'écrire dans le fichier regexp.txt
j'ai mis :
open (FILE3,'<:encoding(UTF-16LE)', ">regexp.txt");
donc aprés le lancement du programme le fichier est créé avec sons contenu, mais une fois que je lance le script suivant:
******************************************
"C:\Unitex\App\Reg2Grf" "C:\Documents and Settings\naji\Mes documents\French\regexp.txt"
"C:\Unitex\App\Grf2Fst2" "C:\Documents and Settings\naji\Mes documents\French\regexp.grf"
"C:\Unitex\App\Locate" "C:\Documents and Settings\naji\Mes documents\French\Corpus\80jours.snt" "C:\Documents and Settings\naji\Mes documents\French\regexp.fst2" "C:\Documents and Settings\naji\Mes documents\French\Alphabet.txt" l i 200
"C:\Unitex\App\Concord" "C:\Documents and Settings\naji\Mes documents\French\Corpus\80jours_snt\concord.ind" "Courier new" 3 40 55 CL html "C:\Documents and Settings\naji\Mes documents\French\Alphabet_sort.txt"
pause
**************************************
la console me lance l'erreure suivante:
C:\Documents and Settings\naji\Mes documents\French>"C:\Unitex\App\Grf2Fst2" "C
\Documents and Settings\naji\Mes documents\French\regexp.grf"
Compiling graph regexp
C:\Documents and Settings\naji\Mes documents\French\regexp.grf is not a unicode
text file
Cannot open the graph regexp.grf
Compilation has failed
C:\Documents and Settings\naji\Mes documents\French>"C:\Unitex\App\Locate" "C:\
ocuments and Settings\naji\Mes documents\French\Corpus\80jours.snt" "C:\Documen
s and Settings\naji\Mes documents\French\regexp.fst2" "C:\Documents and Setting
\naji\Mes documents\French\Alphabet.txt" l i 200
Loading alphabet...
Loading fst2...
Graph C:\Documents and Settings\naji\Mes documents\French\regexp.fst2 is empty
Cannot load grammar C:\Documents and Settings\naji\Mes documents\French\regexp.
st2
C:\Documents and Settings\naji\Mes documents\French>"C:\Unitex\App\Concord" "C:
Documents and Settings\naji\Mes documents\French\Corpus\80jours_snt\concord.ind
"Courier new" 3 40 55 CL html "C:\Documents and Settings\naji\Mes documents\Fr
nch\Alphabet_sort.txt"
Loading concordance index...
Constructing concordance...
'SortTxt' n'est pas reconnu en tant que commande interne
ou externe, un programme exécutable ou un fichier de commandes.
Done.
C:\Documents and Settings\naji\Mes documents\French>"C:\Unitex\App\Grf2Fst2" "C
\Documents and Settings\naji\Mes documents\French\regexp.grf"
Compiling graph regexp
C:\Documents and Settings\naji\Mes documents\French\regexp.grf is not a unicode
text file
Cannot open the graph regexp.grf
Compilation has failed
C:\Documents and Settings\naji\Mes documents\French>"C:\Unitex\App\Locate" "C:\
ocuments and Settings\naji\Mes documents\French\Corpus\80jours.snt" "C:\Documen
s and Settings\naji\Mes documents\French\regexp.fst2" "C:\Documents and Setting
\naji\Mes documents\French\Alphabet.txt" l i 200
Loading alphabet...
Loading fst2...
Graph C:\Documents and Settings\naji\Mes documents\French\regexp.fst2 is empty
Cannot load grammar C:\Documents and Settings\naji\Mes documents\French\regexp.
st2
C:\Documents and Settings\naji\Mes documents\French>"C:\Unitex\App\Concord" "C:
Documents and Settings\naji\Mes documents\French\Corpus\80jours_snt\concord.ind
"Courier new" 3 40 55 CL html "C:\Documents and Settings\naji\Mes documents\Fr
nch\Alphabet_sort.txt"
Loading concordance index...
Constructing concordance...
'SortTxt' n'est pas reconnu en tant que commande interne
ou externe, un programme exécutable ou un fichier de commandes.
Done.
[^] # Re: si vous avez une idée de ce qui se passe!!, n'hésitez pas svp
Posté par nelfadly . Évalué à 0.
et pour résumer mon problème voilà:
C:\Documents and Settings\naji\Bureau>"C:\Unitex\App\Reg2Grf" "C:\Documents and Settings\naji\Mes documents\French\regexp.txt"
C:\Documents and Settings\naji\Mes documents\French\regexp.txt is not a unicode
text file Cannot open file C:\Documents and Settings\naji\Mes documents\French\regexp.txt
alors que le programme arrive à créer le fichier regexp.txt grace l'instruction dans le programme:
open (FILE3,'<:encoding(UTF-16LE)', ">regexp.txt");
le fichier et là mais le script refuse de l'utiliser!!
Suivre le flux des commentaires
Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.