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 :

appel de fonction dans un autre fichier


Sujet :

Langage Perl

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Octobre 2009
    Messages
    18
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2009
    Messages : 18
    Par défaut appel de fonction dans un autre fichier
    Bonjour à tous,

    Il est possible que cette question ai déjà été posé dans le forum mais pour vous dire la vérité j'ai commencer le perl il y a maintenant uen semaine

    Alors c'est simple, j'ai deux fichier perl ou dans l'un il y a mon code principale et l'autre mes procédures.

    J'aimerais pouvoir faire appel au proc dans mon fichier principal, le souci c'est que le fichier où sont contenu les procédure est ré-actualisé assez souvent.

    j'ai pensé à utiliser system mais je crois que c'est une mauvaise idée



    Amicalement

    new fan of Perl

  2. #2
    Expert confirmé

    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2009
    Messages
    3 577
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 59
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Avril 2009
    Messages : 3 577
    Par défaut
    Le mieux est effectivement de définir ton fichier contenant les procédures comme un module (ou mieux, un module orienté objet).
    Tu trouveras une abondante littérature dans les manuels perl :
    Code bash : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    perldoc perlmod
    perldoc Exporter
    perldoc perlboot
    perldoc perltoot

    Sans oublier l'article sur la POO de djibril : http://djibril.developpez.com/tutoriels/perl/poo/

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Octobre 2009
    Messages
    18
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2009
    Messages : 18
    Par défaut
    Après j'ai un souci qui est la traduction.

    Petite explication : Je ne connais pas les procedures et leurs noms sont stockées dans un $i. Appellons ma class Machine, est ce que Machine->$i() marche ?

    Je pense bien sur que non, à ce moment la est ce eval (Machine->$i()) marche ? Je pense que non aussi vu qu'ils ne sont pas dans le meme fichier.

    Enfin bref je suis un peu perdu ...

  4. #4
    Expert confirmé

    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2009
    Messages
    3 577
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 59
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Avril 2009
    Messages : 3 577
    Par défaut
    Une méthode d'une classe s'appelle plus simplement
    $objet->method(...).

    Je ne comprends pas comment tu fais pour avoir des méthodes en $method.

    Pour t'aider un peu plus, peut-être pourrais-tu nous donner une partie de tes sources (la classe et le script qui l'utilise).

  5. #5
    Membre averti
    Profil pro
    Inscrit en
    Octobre 2009
    Messages
    18
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2009
    Messages : 18
    Par défaut
    Justement le souci c'est que le nom de la classe est enregistrer dans une variable

    prenons un fichier text ou le nom de la sous proc est ecrit
    on recupere le nom qu'on met dans $a
    comment appeller la procudure $a qui est ecrite dans un autre fichier perl

    J'espere etre le plus claire possible

  6. #6
    Expert confirmé

    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2009
    Messages
    3 577
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 59
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Avril 2009
    Messages : 3 577
    Par défaut
    Mmmm, c'est le nom de la classe qui est écrit dans une variable, ou bien le nom de la méthode, ou bien encore autre chose ?

    Pourrais-tu poster tes exemples, je n'arrive toujours pas à comprendre ton problème, car en tant que débutant en perl, tu ne devrais pas avoir à définir des noms de méthodes dans des variables, car c'est un usage avancé (et périlleux) des références et de la table des symboles perl (déréférencement d'une string en nom de variable). Cette pratique est d'ailleurs interdite si tu utilises les donc modules suivant fortement recommandés :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    use strict;
    use warnings;

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

Discussions similaires

  1. Appeler fonction dans un autre fichier mxml
    Par cecile38 dans le forum Flex
    Réponses: 3
    Dernier message: 05/01/2011, 16h53
  2. Réponses: 2
    Dernier message: 05/03/2009, 15h52
  3. Réponses: 4
    Dernier message: 15/09/2008, 14h43
  4. appel d'une fonction dans un autre fichier jss
    Par Davee dans le forum Général JavaScript
    Réponses: 1
    Dernier message: 28/06/2008, 20h12
  5. appel d'une fonction dans un autre fichier
    Par funboard dans le forum Langage
    Réponses: 2
    Dernier message: 08/02/2008, 09h26

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