Bonjour,

Je souhaite lire (uniquement) une variable privée (my $variable) définie dans une procédure d'un package.
Je connais le nom complet de la variable (package::sous-package::procédure::mavariable).

j'ai essayé ceci:

Fichier monsouspackage.pm;

package monpackage::monsouspackage;
sub maprocedure {
my $mavariable="essai";

return $mavariable;
}
Fichier test.pl;

use monpackage::monsouspackage;

my $package="monpackage";
my $spackage="monsouspackage";
my $sub="maprocedure";
my $variable="mavariable";

my $val=${"${package}::${spackage}::${sub}::${mavariable}"};

print "val=$val\n";
Mais cela ne fonctionne pas.
Ce n'est bien sûr par très orthodoxe mais il s'agit de faire un module de debug.

Est-ce possible ? comment fait-on ?

merci de votre aide.