re-Bonjour à tous,

C'est toujours le même développeur C qui s'essaie à du PERL qui vient demander de l'aide ...

J'essaie de jouer avec les pointeurs de fonctions.

Voici ce qui marche :

dans mon Fichier 1 :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
 
 ref_essai = \&DisplayHelp;
 &$ref_essai();
 
#... et plus loin dans le fichier...
 
sub DisplayHelp
{
 print "aide en ligne";
}
Ce qui ne marche pas :

dans mon Fichier 1 :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
 
 
Fichier2::SetHelpRoutine(\&DisplayHelp);
 
sub DisplayHelp
{
 print "aide en ligne";
}
dans mon Fichier 2 :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
 
my $ref_help_routine;
 
sub SetHelpRoutine
{
    $ref_help_routine = @_;
}
 
#...puis ici j'appelle la routine en faisant : 
&$ref_help_routine();
[/i]

Et à l'exécution j'ai l'erreur suivante : Undefined subroutine &main::1 called

Merci beaucoup encore une fois !

Pierre