[Perl] appel par adresse

Jean ponder.stibbons at orange.fr
Jeu 27 Juil 07:06:49 CEST 2017


Le mercredi 26 juillet 2017 à 19:46 +0200, Patrick Dupre a écrit :
> Bonsoir,
> 
> Je peux faire cela
> my $ptr = $band_mol -> {H_L} ;
> $HL_factor = &$ptr ($J_low, 0, 1, $PQR) ;
> mais pas cela
> 
> $HL_factor = &$band_mol -> {H_L} ($J_low, 0, 1, $PQR) ; 
> 
> Pourquoi ?
> 
> Merci.
> 
Quel est le message d'erreur ?

Peut-être faut-il ajouter des parenthèses ("parenthèses"
au sens large, en l'occurrence des accolades) :

$HL_factor = &{$band_mol -> {H_L}} ($J_low, 0, 1, $PQR) ; 
              *                  *
ou alors
$HL_factor = &{$band_mol -> {H_L}} -> ($J_low, 0, 1, $PQR) ; 
              *                  * **
(pas testé)

Remarque hors-sujet et totalement gratuite : en voyant
la variable $PQR, j'ai pensé "Ils sont fous, ces romains".

Jean



Plus d'informations sur la liste de diffusion Perl