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

Modules Perl Discussion :

créer son module?


Sujet :

Modules Perl

  1. #1
    Membre Expert
    Avatar de Jim_Nastiq
    Homme Profil pro
    Architecte, Expert Flex
    Inscrit en
    Avril 2006
    Messages
    2 335
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Architecte, Expert Flex
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2006
    Messages : 2 335
    Par défaut créer son module?
    Salut,

    je suis un peu honteux de demander ca !ca doit pas etre compliqué mais je trouve pas!

    en fait je voudrais regroupé toutes mes variables dans un fichier un peu comme une bibliotheques *.h en C! j'ai donc créé un fichier *.pm :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    #!c:/Perl/bin/perl
    package variables;
    use strict 'vars';
    use strict 'refs';
     
    my $var1 = "data1";
    my $var2 = "data2";
    ...
    1;
    et dans mes fichiers *pl ensuite:
    mais evidement c'etait trop simple pour que ca fonctionne ! j'ai donc fouiller sur la toile et la plein de truc contradictoire! un coup c'est pas possible un coup c'est un module qui fait ca, un coup c'est tout bete mais evidement pas d'explication, bref rien de bon...et ici le FAQ parle bien des modules mais je dois louper un truc essentiel car les erreurs de compil sont toujours la(a savoir les variables ne sont pas definis!)


    merci de m'eclairer

    Pensez vraiment à effectuer une recherche avant de poster, ici et sur un moteur de recherche! c'est la moindre des choses
    Pensez au tag

    Mon Blog sur la techno Flex
    Ma page sur Developpez.com

    Jim_Nastiq

  2. #2
    Expert confirmé
    Avatar de Jedai
    Homme Profil pro
    Enseignant
    Inscrit en
    Avril 2003
    Messages
    6 245
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Côte d'Or (Bourgogne)

    Informations professionnelles :
    Activité : Enseignant

    Informations forums :
    Inscription : Avril 2003
    Messages : 6 245
    Par défaut
    Déjà, évite les noms de packages qui ne commencent pas par une majuscule, c'est réservé aux pragmas normalement. Deuxièmement, tu peux tout à fait définir des variables dans un module pour les utiliser dans un autre.

    La méthode :
    MesVariables.pm
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    package MesVariables;
     
    our $truc = "truc bidule chouette";
     
    1;
    script.pl
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    #!/usr/bin/perl
    use strict; use warnings;
     
    use MesVariables;
     
    print "$truc contient \"$MesVariables::truc\".\n";
    Par ailleurs tu peux faire en sorte que dans script.pl il te suffise d'écrire $truc plutôt que $MesVariables::truc, mais ce n'est pas forcément une très bonne idée : tu risques les collisions de noms.

    Une autre solution qui peut être bien meilleure et plus propre est d'utiliser un fichier de configuration et l'un des innombrables modules pour lire un fichier de config.

    --
    Jedaï

  3. #3
    Membre Expert
    Avatar de Jim_Nastiq
    Homme Profil pro
    Architecte, Expert Flex
    Inscrit en
    Avril 2006
    Messages
    2 335
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Architecte, Expert Flex
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2006
    Messages : 2 335
    Par défaut
    ok! comme d'hab encore une connerie de ma part! j'ai zappé de mettre 'Variables::' devant mes variables ...

    Pensez vraiment à effectuer une recherche avant de poster, ici et sur un moteur de recherche! c'est la moindre des choses
    Pensez au tag

    Mon Blog sur la techno Flex
    Ma page sur Developpez.com

    Jim_Nastiq

  4. #4
    Expert confirmé
    Avatar de Jedai
    Homme Profil pro
    Enseignant
    Inscrit en
    Avril 2003
    Messages
    6 245
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Côte d'Or (Bourgogne)

    Informations professionnelles :
    Activité : Enseignant

    Informations forums :
    Inscription : Avril 2003
    Messages : 6 245
    Par défaut
    Citation Envoyé par Jim_Nastiq
    ok! comme d'hab encore une connerie de ma part! j'ai zappé de mettre 'Variables::' devant mes variables ...
    Oui, mais il n'y a pas que ça : tu les as déclarés avec my(), or my() déclare une variable lexicale, qui n'est accessible que dans la portée où elle est déclarée (par exemple ici sa portée est le package variables)... Il faut que tu utilises our() pour déclarer des variables globales auxquelles on a accès à partir de n'importe où.

    --
    Jedaï

  5. #5
    Membre Expert
    Avatar de Jim_Nastiq
    Homme Profil pro
    Architecte, Expert Flex
    Inscrit en
    Avril 2006
    Messages
    2 335
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Architecte, Expert Flex
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2006
    Messages : 2 335
    Par défaut
    oui ca je l'avais fait mais quand j'ai ajouter le code dans mon post j'ai mis "my" par inadvertance !

    merci a toi

    Pensez vraiment à effectuer une recherche avant de poster, ici et sur un moteur de recherche! c'est la moindre des choses
    Pensez au tag

    Mon Blog sur la techno Flex
    Ma page sur Developpez.com

    Jim_Nastiq

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

Discussions similaires

  1. Créer son propre système de fichiers
    Par L'immortel dans le forum Programmation d'OS
    Réponses: 15
    Dernier message: 15/12/2013, 22h16
  2. [C#] Créer son journal d'évènement perso
    Par globeriding dans le forum ASP.NET
    Réponses: 17
    Dernier message: 16/01/2006, 22h56
  3. [Mail] Comment créer son premier page en PHP
    Par gymac dans le forum Langage
    Réponses: 3
    Dernier message: 07/09/2005, 22h15
  4. Créer son propre LayoutManager
    Par tomburn dans le forum Agents de placement/Fenêtres
    Réponses: 9
    Dernier message: 17/03/2005, 16h15
  5. créer son propre protocole
    Par matthew_a_peri dans le forum Développement
    Réponses: 11
    Dernier message: 04/03/2005, 14h16

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