use "dynamique"

Le
Sébastien Cottalorda
Bonjour,

Je dveloppe une application mtier charge de piloter des panneaux d=
e
signalisation.
Certains panneaux utilise un certain driver, d'autre un autre, etc

J'ai dvelopp un module/objet par driver.

Le programme charg de piloter un panneau dcouvre en court de route
quel protocole il doit parler.
Mais je n'arrive pas charger le module.

Voici comment je m'y prends.

#!/usr/bin/perl -w;
use strict;
[snip]
my $proto = $PANNEAU->{protocole};
use PANNEAU::DRIVERS::$proto;

Mais je me fais jeter, le use ne marche pas : "syntax error".

comment m'en sortir ?
J'ai essay ceci sans plus de rsultat.
my $proto = $PANNEAU->{protocole};
require $proto;

Mais j'obtiens
Can't locate PANNEAU::DRIVERS::PARKMAT_20.pm in @INC

Par contre, si je mets en dur
use PANNEAU::DRIVERS::PARKMAT_20;
a marche impeccablement.

Merci d'avance pour votre aide.

Sbastien
Vos réponses
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
Sébastien Cottalorda
Le #18012211
Problème résolu avec :

use Module::Load;

my $proto = "PANNEAU::DRIVERS::".$PANNEAU->{protocole};
load $proto;

Sebastien
Publicité
Poster une réponse
Anonyme