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 php, comment les allier


Sujet :

Langage Perl

  1. #1
    Membre régulier
    Femme Profil pro
    Consultante LIMS
    Inscrit en
    Avril 2009
    Messages
    145
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 39
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Consultante LIMS
    Secteur : Industrie Pharmaceutique

    Informations forums :
    Inscription : Avril 2009
    Messages : 145
    Points : 74
    Points
    74
    Par défaut PERL et php, comment les allier
    Bonjour

    Je commence php, et je dois l'associer à perl, language que je ne maitrise pas

    je voudrais commencer par faire un simple appel dans php

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    $node = exec('perl ../script/test.pl '.$requete.'');
    print ($node);
    et voici ce que j'ai écris en perl

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
    #! /usr/bin/perl
     
    do '../library/evolution_lib.pl';
     
    sub myfonction(@ARGV)
    {
    $ARGV = @ARGV;
    my $taxid = $ARGV[0];
    my $node = evolution::FindNearestNode($taxid);
    retrun $node;
    }
    mais quand j'exécute sur ma page web, ben j'ai rien, ça reste coincé au script de traitement php

    HELP PLEASE

  2. #2
    Membre habitué Avatar de mensoif
    Profil pro
    Inscrit en
    Mai 2008
    Messages
    248
    Détails du profil
    Informations personnelles :
    Âge : 35
    Localisation : France

    Informations forums :
    Inscription : Mai 2008
    Messages : 248
    Points : 129
    Points
    129
    Par défaut
    Tout d'abord, tu ne récupères pas les arguments convenablement. ( cela renvois en effet l'indice max me semble t'il *-)

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    $ARGV = shift (@ARGV);
    # ou 
    ($ARGV) = @ARGV;
    est plus approprié.

    Ensuite lorsque tu fais
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    my $taxid = $ARGV[0];
    tu travailles sur l'indice 0 du tableau (@ARGV) et non sur le scalaire créer précedement.

    Pour finir je ne sais pas si tu as fait un copier/coller de ton code mais une petite coquille s'est glissée à la fin pour return.

    Ensuite, je trouve étrange de travailler directement sur ARGV.

    Ensuite, si tu ne fais pas appelle à ta subroutine, elle ne s'exécutera pas.

    Je te donne un exemple qui devrait fonctionner ::

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
     
     
    #!/usr/bin/env perl
     
    use strict; 
    use warnings;
     
    do '../library/evolution_lib.pl';
     
    Fct (@ARGV);
     
    sub Fct {
      return evolution::FindNearestNode(shift);
    }
    Et pour finir je voudrais te poser une question, est ce que ton livrable final fonctionnera sur la même machine ? (php & perl)

    edit : Ensuite, il me semble qu'il y a un truc au niveau de php.ini (safe_mode) ou quelque chose comme ca.

  3. #3
    Membre régulier
    Femme Profil pro
    Consultante LIMS
    Inscrit en
    Avril 2009
    Messages
    145
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 39
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Consultante LIMS
    Secteur : Industrie Pharmaceutique

    Informations forums :
    Inscription : Avril 2009
    Messages : 145
    Points : 74
    Points
    74
    Par défaut
    alor sje me suis inspirée de tout ce que tu as mis et j'ai refait et finalment ça marche quand je fais

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
      $node = ('perl ../library/test.pl '.$_SESSION['nom'].' prodom');
      $i=exec($node);
       print ($i);
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    #! /usr/bin/perl
     
    do '../library/evolution_lib.pl';
     
    my $taxid = $ARGV[0];
    my $node = evolution::FindNearestNode($taxid,$ARGV[1]);
    print "$node\n";

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

Discussions similaires

  1. Réponses: 0
    Dernier message: 26/06/2014, 14h42
  2. Réponses: 1
    Dernier message: 30/10/2008, 19h25
  3. [PHP] Comment intercepter les WARNING ?
    Par spiloack dans le forum SQL
    Réponses: 0
    Dernier message: 03/09/2007, 11h08
  4. Comment exécuter automatiquement un script php toutes les 24h.
    Par legastu dans le forum EDI, CMS, Outils, Scripts et API
    Réponses: 2
    Dernier message: 12/06/2007, 15h25
  5. php:comment utiliser les sessions en php
    Par feten dans le forum Langage
    Réponses: 3
    Dernier message: 19/11/2005, 16h17

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