bonjour,
je crée une application qui commence à prendre un peu d'ampleur et, soucieux de m'y retrouver à l'avenir, j'aimerais mettre mes différents modules dans des sous répertoires.
Exemple: une partie de mon application donne accès à la base de donnée (+ abstraction pour les types que j'y stoque) et se compose de 4 modules:
- eXist.pm;
- archives.pm;
- emission.pm;
- sequence.pm;
qui représentent chacune une classe.
pour plus de simplicité, j'ai créé un module les appellant tous les 4:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9 package eXist_interface; use eXist; use archives; use emission; use archives; ############################################################################### 1; # Ainsi le require ou le use réussi...
Et j'utilisais ces classes simplement en faisant un use eXist_interface dans le script que j'écrivais (et que je lançais dans le même répertoire que tous ces packages).
Maintant j'aimerais mettre tous ces packages (plus des tas d'autres fichiers qui y sont reliés) dans un répertoire eXist_interface, et pouvoir l'appeller depuis le répertoire parent.
Je pensais que ça allait marcher tout seul en faisant un "use eXist_interface" mais non.
J'ai donc essayé "use eXist_interface::eXist_interface" (eXist_interface étant le répertoire dans lequel se trouve mon package eXist_interface.pm), il a réussi à loader eXist_interface.pm, mais plante lorsqu'il doit loader un des quatres modules!
J'ai aussi essayé d'ajouter le répertoire eXist_interface au début de mon programme:
Mais sans résultat, on dirait qu'il fait les use AVANT le push!
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8 #!/usr/bin/env perl push(@INC, "./eXist_interface"); use strict; use Tk; use eXist_interface;
une idée?
merci d'avance,
Laurent.
Partager