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 :

Script perl fonctionne en .pl mais pas en .exe


Sujet :

Langage Perl

  1. #21
    Responsable Perl et Outils

    Avatar de djibril
    Homme Profil pro
    Inscrit en
    Avril 2004
    Messages
    19 820
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 19 820
    Points : 499 184
    Points
    499 184
    Par défaut
    Bon bah voilà, on a la réponse.
    Ton fichier est bel et bien trouvé dans ton exe, mais le problème c'est le module qui est certes installé sur ton PC mais pas incorporé dans ton exe.
    Génère ton exe en incluant le module avec l'option -M.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    -M XML::Simple -M XML::LibXML::SAX
    Depuis le début, tu dois surement avoir ce message d'erreur, mais comme tu n'utilisais pas correctement la fonction eval (à utiliser lorsque l'on sait ce que l'on fait), les messages d'ereurs étaient cachés.

  2. #22
    Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Février 2017
    Messages
    20
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 26
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Février 2017
    Messages : 20
    Points : 3
    Points
    3
    Par défaut
    Citation Envoyé par djibril Voir le message
    Bon bah voilà, on a la réponse.
    Ton fichier est bel et bien trouvé dans ton exe, mais le problème c'est le module qui est certes installé sur ton PC mais pas incorporé dans ton exe.
    Génère ton exe en incluant le module avec l'option -M.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    -M XML::Simple -M XML::LibXML::SAX
    Depuis le début, tu dois surement avoir ce message d'erreur, mais comme tu n'utilisais pas correctement la fonction eval (à utiliser lorsque l'on sait ce que l'on fait), les messages d'ereurs étaient cachés.
    CA MARCHE !!
    Merci énormément !

    Désolé je débute en Perl ^^ mais vraiment merci

  3. #23
    Responsable Perl et Outils

    Avatar de djibril
    Homme Profil pro
    Inscrit en
    Avril 2004
    Messages
    19 820
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 19 820
    Points : 499 184
    Points
    499 184
    Par défaut

  4. #24
    Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Février 2017
    Messages
    20
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 26
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Février 2017
    Messages : 20
    Points : 3
    Points
    3
    Par défaut
    J'ai une dernière question/problème : l'exécutable ne peut être lancé qu'avec Perl d'installé sur l'ordinateur ? Je ne peux le lancer qu'avec Strawberry Perl Portable et quand je veux le lancer sans il dit qu'il manque justement Strawberry Perl ...

    Je pensais justement qu'en créant l'exécutable on pouvait l'utiliser sur un PC qui n'a pas Perl.

  5. #25
    Responsable Perl et Outils

    Avatar de djibril
    Homme Profil pro
    Inscrit en
    Avril 2004
    Messages
    19 820
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 19 820
    Points : 499 184
    Points
    499 184
    Par défaut
    Tu peux générer un exécutable qui contiendra Perl, cela t'évitera d'avoir besoin de Perl sur les machines où il sera exécuté. Lit la documentation ou mon tutoriel ! Et on t'aide après si tu ne trouves pas.

  6. #26
    Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Février 2017
    Messages
    20
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 26
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Février 2017
    Messages : 20
    Points : 3
    Points
    3
    Par défaut
    Citation Envoyé par djibril Voir le message
    Tu peux générer un exécutable qui contiendra Perl, cela t'évitera d'avoir besoin de Perl sur les machines où il sera exécuté. Lit la documentation ou mon tutoriel ! Et on t'aide après si tu ne trouves pas.
    Justement, d'après le tutoriel l'interpréteur Perl n'est pas inclus par défaut quand on converti en exécutable ?

    Voici la commande que j'ai fait :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    pp -M XML::Simple -M XML::LibXML::SAX -o leScript.exe nmapxml2mm.pl

  7. #27
    Responsable Perl et Outils

    Avatar de djibril
    Homme Profil pro
    Inscrit en
    Avril 2004
    Messages
    19 820
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 19 820
    Points : 499 184
    Points
    499 184
    Par défaut
    Si par défaut prl est inclus dans l'exe et ta commande est OK. L'exe ne fonctionne pas ?

  8. #28
    Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Février 2017
    Messages
    20
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 26
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Février 2017
    Messages : 20
    Points : 3
    Points
    3
    Par défaut
    Citation Envoyé par djibril Voir le message
    Si par défaut prl est inclus dans l'exe et ta commande est OK. L'exe ne fonctionne pas ?
    Voici l'erreur quand je lance l'exécutable sans avoir Perl
    Nom : errorExe.PNG
Affichages : 139
Taille : 24,3 Ko

  9. #29
    Responsable Perl et Outils

    Avatar de djibril
    Homme Profil pro
    Inscrit en
    Avril 2004
    Messages
    19 820
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 19 820
    Points : 499 184
    Points
    499 184
    Par défaut
    Ce n'est pas un souci de Perl. C'est juste que l'exe a du mal à fonctionner avec le module qui doit surement utiliser des dll externes.

    À la création de l'exe, rajoute les options -l fichierdll.

    Le problème est : quels fichiers DLL ?

  10. #30
    Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Février 2017
    Messages
    20
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 26
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Février 2017
    Messages : 20
    Points : 3
    Points
    3
    Par défaut
    Citation Envoyé par djibril Voir le message
    Ce n'est pas un souci de Perl. C'est juste que l'exe a du mal à fonctionner avec le module qui doit surement utiliser des dll externes.

    À la création de l'exe, rajoute les options -l fichierdll.

    Le problème est : quels fichiers DLL ?
    C'est ce que je suis en train de chercher, mais je ne sais pas trop comment trouver l'information (à part Google).
    J'ai essayé d'inclure directement le dll qui semblait manqué selon l'erreur mais l'erreur reste la même

  11. #31
    Responsable Perl et Outils

    Avatar de djibril
    Homme Profil pro
    Inscrit en
    Avril 2004
    Messages
    19 820
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 19 820
    Points : 499 184
    Points
    499 184
    Par défaut
    Essaye de trouver les DLL de
    > iconv-VERSION.win32.zip
    > libxml2-VERSION.win32.zip
    > zlib-VERSION.win32.zip

  12. #32
    Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Février 2017
    Messages
    20
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 26
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Février 2017
    Messages : 20
    Points : 3
    Points
    3
    Par défaut
    Citation Envoyé par djibril Voir le message
    Essaye de trouver les DLL de
    Tu veux dire les télécharger et les ajouter à mon exécutable avec un -l ?

  13. #33
    Responsable Perl et Outils

    Avatar de djibril
    Homme Profil pro
    Inscrit en
    Avril 2004
    Messages
    19 820
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 19 820
    Points : 499 184
    Points
    499 184
    Par défaut
    OUI.

    N.B. Quand j'aurais un peu de temps, je ferais des recherches de mon côté.

  14. #34
    Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Février 2017
    Messages
    20
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 26
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Février 2017
    Messages : 20
    Points : 3
    Points
    3
    Par défaut
    C'est fait mais l'erreur reste la même

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    pp -M XML::Simple -M XML::LibXML::SAX -l iconv.dll -l libxml2.dll -l zlib1.dll -o leScript.exe nmapxml2mm.pl
    Et désolé de prendre de votre temps pour ça

  15. #35
    Responsable Perl et Outils

    Avatar de djibril
    Homme Profil pro
    Inscrit en
    Avril 2004
    Messages
    19 820
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 19 820
    Points : 499 184
    Points
    499 184
    Par défaut
    Bon,

    J'ai refait la même chose chez moi et tout fonctionne.

    J'ai Strawberry Perl sur mon PC
    J'ai installé PAR::Packer et XML::Simple

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    cpan -i  PAR::Packer 
    cpan -i   XML::Simple
    Ca dure 30 minutes.

    Programme xmlpar.pl

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    #!/usr/bin/perl
    # (C) Kost. Distributed under GPL.
    use Carp;
    use warnings;
    use strict;
    use XML::Simple;
    use Getopt::Long;
    use Cwd;
    use File::Spec;
    use Data::Dumper;
     
    my $fileperhost = 1;
     
    my $repertoireCourant = getcwd;
    my $nmapfile           = File::Spec->catfile($repertoireCourant, 'leScan.xml');
    my $mindmap            = File::Spec->catfile($repertoireCourant, 'mapXmind.mm');
    print "Repertoire courrant : $repertoireCourant\n";
    print "nmapfile : $nmapfile\n";
    print "mindmap : $mindmap\n";
     
    $fileperhost=0;
     
    print STDERR "Using $mindmap as output\n";
    print STDERR "Processing $nmapfile...\n";
     
    if ( ! -f $nmapfile ) { die "$nmapfile not exists\n"; }
    my $nmapxml = XMLin($nmapfile, ForceArray => 1, KeyAttr => ''); 
    print Dumper $nmapxml;
    Création de l'exécutable :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    pp -o xmlpar.exe xmlpar.pl -v -M XML::Simple -M XML::LibXML::SAX
    Lancement de l'exe et tout fonctionne.

  16. #36
    Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Février 2017
    Messages
    20
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 26
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Février 2017
    Messages : 20
    Points : 3
    Points
    3
    Par défaut
    Je vais ré-essayer tout proprement et je reviendrais vers vous en cas de problème, merci

  17. #37
    Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Février 2017
    Messages
    20
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 26
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Février 2017
    Messages : 20
    Points : 3
    Points
    3
    Par défaut
    Oui effectivement sur un ordinateur avec Strawberry Perl d'installé ça fonctionne, mais le but est de le faire fonctionner sur un ordinateur où il n'y a pas perl d'installé et là l'erreur revient une fois de plus ...

    J'ai peut être une solution pour contourner le problème, mais je n'ai pas trouvé comment faire : Peut-on entrer une commande dans Strawberry Perl Portable depuis un script batch (.bat) ? Et si oui, comment ?

    Je ne sais pas si l'endroit est bien adapté à cette question, ou si je dois la posée dans une autre section du forum.

  18. #38
    Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Février 2017
    Messages
    20
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 26
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Février 2017
    Messages : 20
    Points : 3
    Points
    3
    Par défaut
    J'ai réussi à répondre à ma dernière question, ce que je voulais faire fonctionne donc maintenant !

    Un grand merci !

  19. #39
    Responsable Perl et Outils

    Avatar de djibril
    Homme Profil pro
    Inscrit en
    Avril 2004
    Messages
    19 820
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 19 820
    Points : 499 184
    Points
    499 184
    Par défaut
    Bah on ne sait pas ce que tu as fait pour que tout fonctionne.

  20. #40
    Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Février 2017
    Messages
    20
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 26
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Février 2017
    Messages : 20
    Points : 3
    Points
    3
    Par défaut
    Je n'ai pas réussi à réparer l'erreur mais du coup ce que j'ai fais c'est faire appeler Strawberry Perl portable par mon script principal (en batch) et faire lancer le script Perl par Strawberry Perl Portable quand ce dernier se lance.

    Je sais que c'est trèèèèèès bricolé et pas du tout optimisé mais ça marche et ça suffira pour le moment.

+ Répondre à la discussion
Cette discussion est résolue.
Page 2 sur 2 PremièrePremière 12

Discussions similaires

  1. Script qui fonctionne sur chrome mais pas firefox
    Par crozet.magenta dans le forum Général JavaScript
    Réponses: 6
    Dernier message: 15/01/2013, 12h14
  2. Script qui fonctionne en local, mais pas en ligne
    Par student_php dans le forum PHP & Base de données
    Réponses: 2
    Dernier message: 15/11/2010, 10h22
  3. [Wamp] Requete fonctionne sous phpmyadmin mais pas en script php
    Par ben.IT dans le forum EDI, CMS, Outils, Scripts et API
    Réponses: 12
    Dernier message: 04/01/2010, 16h16
  4. Script qui fonctionne sous FireFox mais pas sous IE
    Par Sebastien14 dans le forum Général JavaScript
    Réponses: 10
    Dernier message: 27/01/2009, 10h32
  5. Réponses: 3
    Dernier message: 07/06/2007, 09h17

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