Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1402 connectés 

  FORUM HardWare.fr
  Programmation
  Perl

  [perl] lancer un process windows en perl

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

[perl] lancer un process windows en perl

n°1238699
trictrac
Posté le 04-11-2005 à 14:47:35  profilanswer
 

Bonjour,  
 
Comme certains l'auront certainement remarqué, je me lance dans perl assez activement (depuis un an, je suis fan de ce langage ...)
 
Mon probleme actuellement, est que j'aimerais savoir comment il serait possible de lancer un process windows (par exemple iexplore) le plus proprement possible depuis un script perl.
Sous linux, j'ai pas de probleme (fork, backquotes ..) mais sous win, j'ai du mal a voir comment c'est faisable ... et la doc n'est comme qui dirait pas foisonnante concernant l'environnement windows - vu comme j'ai galérer pour compiler pp sous win .. -
 
Merci.

mood
Publicité
Posté le 04-11-2005 à 14:47:35  profilanswer
 

n°1238768
pospos
Posté le 04-11-2005 à 15:21:41  profilanswer
 

pour lancer les truc purement windows genre IE, excel ou mediaplayer tu peux utiliser les OLE. Il y a meme des modules qui gere ca facielment sur CPAN (par exemple une version de Mechanize speciale pour controler IE).
 
Ensuite si tu veux lancer un process tu peux utiliser le module Win32::Process, ou plus simplement la fonction system qui marche tres bien. Par contre si tu veux pouvoir le lancer en tache de fond (ie continuer ton prog pendant que l'autre tourne) tu a une option speciale dans system (et qui ne marche qu'avec activeperl à ma connaissance) qui est de mettre un 1 en premier argument:
system(1, "commande..." );

n°1238791
trictrac
Posté le 04-11-2005 à 15:35:30  profilanswer
 

je vais voir pour utiliser la fonction system ....
Merci bien ..

n°1238839
trictrac
Posté le 04-11-2005 à 16:02:49  profilanswer
 

enfait, j'avais oublié d'échapper le \ de c:\... ie : system("c:\\Program..." )
 
Ca roule maintenant ...

n°1238890
trictrac
Posté le 04-11-2005 à 16:37:21  profilanswer
 

euh ..
ce probleme est resolu, mais je profite de ce thread pour poser une autre question :
 
Toujours sous windows, sur un PC qui n'a PAS internet (donc pas de CPAN), si j'ai besoin du module, par exemple IO::Socket::Multicast, il me suffit de copier le source Multicast.pm récupéré sur CPAN dans c:\perl\lib\IO\Socket ??
Par besoin d'enregistrer la lib ou autre chose ???
Parce qu'il me dit "can't locate loadable object for module IO::Socket::Multicast in @INC .."
 
 
edit: si ca peut aider quelqu'un que le probleme pourrait intereser, il se trouve qu'en introduisant une erreur dans le code Multicast.pm, le compilateur la signal.
des que l'erreur est de nouveau corrigée, il ne trouve pas de module chargeable .. ca veut dire quoi ce message?? :/


Message édité par trictrac le 04-11-2005 à 16:52:43
n°1238993
pospos
Posté le 04-11-2005 à 18:07:02  profilanswer
 

Pour le module Multicast il y a du code C à compiler il me semble (les fichiers en .xs), donc la il tourve bien le .pm mais il n'arrive pas à bootstrapper. Et de memoire il marche mal sous windows d'ailleurs.
 
Sinon pour ton probleme tu peux te constituer une copie de CPAN sur CD avec CPAN::Mini

n°1239295
trictrac
Posté le 05-11-2005 à 13:58:39  profilanswer
 

merci, je vais voir pour me faire un CD alors .. ca pourrait etre pas mal ...
Merci bien ...

n°1240206
pospos
Posté le 07-11-2005 à 10:28:39  profilanswer
 

Mais bon CD ou pas il te faudra toujours un compilateur pour ce genre de module (exactement comme kand tu est connecté directement à CPAN), et c'est pas toujours simple sous windows

n°1240218
trictrac
Posté le 07-11-2005 à 11:05:25  profilanswer
 

et zut ...
en fait, je me sert de ce module juste pour m'abonner au groupe, avec igmp ... il y a moyen de faire ca sans le module la ?

n°1240451
pospos
Posté le 07-11-2005 à 14:47:35  profilanswer
 

à priori non

mood
Publicité
Posté le 07-11-2005 à 14:47:35  profilanswer
 

n°1240453
pospos
Posté le 07-11-2005 à 14:50:03  profilanswer
 

je viens de voir que ce module etait dans ppm, donc tu dois pouvoir l'installer depuis la
 
sur ton PC connecté à internet tu l'install avec ppm, ensuite tu copie les .pm dans IO::Socket::Multicast, et puis tu va chercher ce qui est compilé (le code C) dans site/lib/auto/IO/Socket/Multicast et tu le copi sur ton autre machine aussi. Et ca devrait marcher

n°1240629
trictrac
Posté le 07-11-2005 à 17:40:07  profilanswer
 

oki, merci ...
je vais essayer ca demain ...
parce que la, j'en chie a mort avec cl.exe et autres joyeusetés ...


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  Perl

  [perl] lancer un process windows en perl

 

Sujets relatifs
[perl] passer une variable a une expression regulierephp : Indexeur sous Windows
[Perl] Voir tout ce qui est importé dans l'espace de nom courant?[perl dédié linux putty]lancer perl en tâche de fond
mac os X, perl et modules[débutant] différence Windows Forms et asp.net
Lancer un fichier xls a partir de VB6Fonction windows pour compresser un dossier
prog POSIX sous windows 
Plus de sujets relatifs à : [perl] lancer un process windows en perl


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR