Je ne sais pas si mon titre est clair.
J'ai besoin, dans le cadre d'un projet, de charger des modules (.pm) de manière dynamique. C'est à dire que le script principal (.pl) va lire dans un fichier la liste des modules qu'il doit charger. Je récupère donc les modules sous forme de chaines dans des variables. Je les charge avec des "require", puis après, j'essaie d'accéder à des fonctions du module, mais je n'arrive pas à résoudre la portée avec une variable.
J'ai d'abord fait un test simple, la ligne qui ne marche pas est en gras:
Est-ce que quelqu'un sait comment mettre en place ce genre de mécanisme ? (J'aimerai que $library soit interprété comme une résolution de portée)
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10 sub main { my $library = "test_module"; printf("Avant chargement du module $library\n"); require $library.".pm"; printf("Apres chargement du module $library\n"); $library::print_test(); } main();
Partager