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 :

[Perl et C++] PerlEmbed : alternative a perl_run()


Sujet :

Langage Perl

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    5
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2007
    Messages : 5
    Par défaut [Perl et C++] PerlEmbed : alternative a perl_run()
    Bonjour,
    Voila je realise un petit module en c++ qui interprete du perl.

    #include <EXTERN.h>
    #include <perl.h>

    static PerlInterpreter *my_perl;

    int main()
    {
    char *embedding[] = { "", "test.pl"};
    my_perl = perl_alloc();
    perl_construct(my_perl);

    perl_parse(my_perl, NULL, 2, embedding, NULL);

    //perl_run(my_perl);

    perl_destruct(my_perl);
    perl_free(my_perl);
    }

    Mon code est tres simple et fonctionne bien.
    Le probleme est que perl_run affiche le resultat sur la sortie standard et j'aimerai moi pouvoir stocker ce resultat dans une variable.
    Il y aurait bien une solution : rediriger la sortie standard mais c'est sale et pas pratique.

    Petite precision je suis sous Visual Studio.

    Merci d'avance !

  2. #2
    Membre expérimenté

    Profil pro
    Inscrit en
    Août 2009
    Messages
    156
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : France

    Informations forums :
    Inscription : Août 2009
    Messages : 156
    Par défaut
    Bonjour,
    Il faut utiliser la fonction perl_call et non plus perl_run.
    D'après la doc tu peux récupérer une ou une liste de valeurs, et aussi passer des arguments.

    http://www.perl.com/doc/manual/html/...rning_a_Scalar

  3. #3
    Membre à l'essai
    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    5
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2007
    Messages : 5
    Par défaut
    Ok mais je me suis mal exprime
    Prenons un exemple, j'ai le fichier test.pl avec comme code :
    -------
    #!/usr/local/bin/perl

    print("content-type : text/html\n\n");
    print("Hello World!\n");
    -------

    perl_run et perl_call vont tous deux m'afficher les 2 chaines de caracteres "content-type : text/html" et "Hello World!" sur la sortie standard.
    J'aimerai que ces 2 chaines soient stockees dans une variable. En gros j'aimerai que toutes les sorties de test.pl soient stockees dans une variable dans mon prog c. Mais je ne trouve aucune routine qui irait bien. Merci

Discussions similaires

  1. BTS IG en alternance, je dois apprendre le PERL
    Par Kiyoshi dans le forum Langages de programmation
    Réponses: 1
    Dernier message: 17/09/2008, 20h09
  2. [langage] Comparer Perl avec d'autres langages comme C ?
    Par Anonymous dans le forum Langage
    Réponses: 3
    Dernier message: 10/08/2002, 23h52
  3. [langage] Inclure de perl en c !!!
    Par ryo00 dans le forum Langage
    Réponses: 2
    Dernier message: 30/05/2002, 10h03
  4. [réseaux] Bench en Perl pour avoir le débit entre 2 pc
    Par Frich dans le forum Programmation et administration système
    Réponses: 4
    Dernier message: 22/05/2002, 17h22
  5. [web] Cherche un conseil pour un livre perl-tk
    Par Anonymous dans le forum Interfaces Graphiques
    Réponses: 2
    Dernier message: 29/04/2002, 15h35

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