IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage Perl Discussion :

[langage] Demande d'info complémentaire sur PERL (DEButant)


Sujet :

Langage Perl

  1. #1
    Membre à l'essai
    Inscrit en
    Novembre 2003
    Messages
    27
    Détails du profil
    Informations forums :
    Inscription : Novembre 2003
    Messages : 27
    Points : 22
    Points
    22
    Par défaut [langage] Demande d'info complémentaire sur PERL (DEButant)
    Bonjour,

    Je viens de faire des essais plus ou moins concluant avec des scripts PERL et j'ai besoin d'infos complémentaires sur les possibilités de PERL, en particulier sur les instructions liées aux accés sur les fichiers.

    Puis-je à partir d'un script PERL lancer un executable et via quel instruction, merci.

  2. #2
    Expert confirmé
    Avatar de GLDavid
    Homme Profil pro
    Service Delivery Manager
    Inscrit en
    Janvier 2003
    Messages
    2 867
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Service Delivery Manager
    Secteur : Industrie Pharmaceutique

    Informations forums :
    Inscription : Janvier 2003
    Messages : 2 867
    Points : 4 873
    Points
    4 873
    Par défaut
    Tout à fait, tu peux lancer un exécutable.
    Exemple :
    Sous Win, tu lanceras le notepad.
    A noter, bientôt un peit tuto sur les forks et les processus en fonction de votre OS écrit par votre serviteur.

    @ ++

  3. #3
    Membre à l'essai
    Inscrit en
    Novembre 2003
    Messages
    27
    Détails du profil
    Informations forums :
    Inscription : Novembre 2003
    Messages : 27
    Points : 22
    Points
    22
    Par défaut
    Puis-je avoir un peu plus de détail. En effet, j'ai récuperé différentes documentation sur la programmation PERL et les seules instructions que j'ai vu liée aux fichiers c'est:

    Possibilité d'ouvrir un fichier
    Possibilité d'ecrire dans un fichier
    lancer une commande systeme

    Merci d'avance

  4. #4
    Expert confirmé
    Avatar de GLDavid
    Homme Profil pro
    Service Delivery Manager
    Inscrit en
    Janvier 2003
    Messages
    2 867
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Service Delivery Manager
    Secteur : Industrie Pharmaceutique

    Informations forums :
    Inscription : Janvier 2003
    Messages : 2 867
    Points : 4 873
    Points
    4 873
    Par défaut
    Pour la lecture et écriture de fichiers, je te recommande ce thread : http://www.developpez.net/forums/vie...808&highlight=
    Quelle émotion, c'était mon premier post sur ce forum Versons une larme pour la nostalgie !
    Pour les processus, tu peux utiliser ce thread : http://www.developpez.net/forums/vie...837&highlight=
    Mais sincèrement avec tu aurais déjà trouvé des éléments de réponses, et n'oublies pas est ton ami !

    @ ++

  5. #5
    Membre du Club
    Inscrit en
    Août 2004
    Messages
    50
    Détails du profil
    Informations forums :
    Inscription : Août 2004
    Messages : 50
    Points : 60
    Points
    60
    Par défaut
    Une petite référence.

    Pour lancer un processus, attendre son finissement et obtenir son stdout comme variable, il faut utiliser l'opérateur qx (``): http://www.perldoc.com/perl5.8.4/pod...like-Operators.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    my $out = `$commande $cles`;
    my $out = qx[$commande $cles];
    Pour lancer un processus, attendre son finissement et obtenir son code de terminaison comme variable, il faut utiliser la fonction system: http://www.perldoc.com/perl5.8.4/pod/func/system.html.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    my $code = system ($commande, $cle1, $cle2);
    Pour lancer un processus, lui passer le contrôle et ne jamais revenir, il faut utiliser la fonction exec: http://www.perldoc.com/perl5.8.4/pod/func/exec.html.

    Pour lancer un processus et à la fois ouvrir son STDIN ou STDOUT comme handle accessible dans le script, il faut utiliser une des formes spéciales de la fonction open http://www.perldoc.com/perl5.8.4/pod...tml#Pipe-Opens

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    open(PRINTER, "| lpr -Plp1")    || die "can't run lpr: $!";
    print PRINTER "stuff\n";
    close(PRINTER)                  || die "can't close lpr: $!";  
     
    open(NET, "netstat -i -n |")    || die "can't fork netstat: $!";
    while (<NET>) { }               # do something with input
    close(NET)                      || die "can't close netstat: $!";
    Pour lancer un processus et à la fois ouvrir son STDIN et STDOUT comme handles accessibles dans le script, il faut utiliser la fonction open2
    http://www.perldoc.com/perl5.8.4/pod...nother-Process

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    use FileHandle;
    use IPC::Open2;
    $pid = open2(*Reader, *Writer, "cat -u -n" );
    print Writer "stuff\n";
    $got = <Reader>;
    Pour lancer un processus gérable sous Windows, il faut utiliser le module use Win32:rocess http://aspn.activestate.com/ASPN/doc...2/Process.html

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
        use Win32::Process;
    use Win32;
    sub ErrorReport{
        print Win32::FormatMessage( Win32::GetLastError() );
    }
    Win32::Process::Create($ProcessObj,
                                "C:\\winnt\\system32\\notepad.exe",
                                "notepad temp.txt",
                                 0,
                                 NORMAL_PRIORITY_CLASS,
                                 ".")|| die ErrorReport();
    $ProcessObj->Suspend();
    $ProcessObj->Resume();
    $ProcessObj->Wait(INFINITE);

  6. #6
    Membre actif
    Avatar de Choupi
    Profil pro
    Inscrit en
    Janvier 2003
    Messages
    223
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2003
    Messages : 223
    Points : 235
    Points
    235
    Par défaut
    Comme l'a fait remarqué GlDavid, toutes ces infos sont dispos dans d'anciens sujets et dans l'aide de perl...

    Merci dmitry_ovsianko d'avoir synthétisé tout ca mais je pense que Poirier peut chercher dans l'aide seul.

  7. #7
    Membre à l'essai
    Inscrit en
    Novembre 2003
    Messages
    27
    Détails du profil
    Informations forums :
    Inscription : Novembre 2003
    Messages : 27
    Points : 22
    Points
    22
    Par défaut
    Merci à vous tous pour vos informations, je pense pouvoir m'en tirer

  8. #8
    Membre actif
    Avatar de Choupi
    Profil pro
    Inscrit en
    Janvier 2003
    Messages
    223
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2003
    Messages : 223
    Points : 235
    Points
    235
    Par défaut
    Et bien revient si pb de toute facon

    Pense au tag resolu (bouton en bas à gauche de la page).

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Demande d'info sur MySQL 3.23.58
    Par gobs dans le forum Installation
    Réponses: 5
    Dernier message: 25/01/2006, 12h52
  2. demande d'infos sur le composant IBDataSet
    Par seb8810 dans le forum Bases de données
    Réponses: 4
    Dernier message: 18/01/2006, 15h16
  3. [Débutant] Demande d'info sur OpenGL
    Par SkyDev dans le forum OpenGL
    Réponses: 2
    Dernier message: 01/03/2005, 23h58
  4. [langage] Demande d'informatins sur PERL (Debutant)
    Par poirier dans le forum Langage
    Réponses: 9
    Dernier message: 17/08/2004, 17h13
  5. Demande d'info sur treeview
    Par Anaxagore dans le forum IHM
    Réponses: 6
    Dernier message: 28/08/2003, 18h27

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo