question simple:Comment référencer un scalaire dans une référence de hachage en Perl?
Comment puis-je faire cela sur une seule ligne:
my $foo = $bar->{baz};
fizz(\$foo);
J'ai essayé \ bar $ -> {baz}, \ $ {$ bar -> {baz}}, et de nombreux autres. Est-ce seulement possible?
-fREW
Mise à jour: Ok, le hashref vient de DBI et je passe l'arbitre scalaire en boîte à outils du modèle. Je suppose maintenant que je regarde de plus près la question est quelque chose à faire avec comment TT fait tout cela. En effet, je veux dire:
$template->process(\$row->{body}, $data);
Mais TT ne fonctionne pas de cette façon, TT prend une ref scalaire et met les données là-bas, donc je dois faire:
$template->process(\$row->{body}, $shopdata, \$row->{data});
Quoi qu'il en soit , Merci pour l'aide. Je vais au moins avoir une référence au lieu de deux.
Sur la base de ce que je pense u peut-être essayer de faire u devrait jeter un oeil à l'option EXPOSE_BLOCKS dans TT. Cela vous permet de traiter des blocs dans un modèle plusieurs fois ... $ template-> process ("table.tt/row", {data => 1}); & ensuite dans le modèle table.tt [% BLOCK row%]
En référence à votre mise à jour, voir la mise à jour de ma réponse. – runrig