<div dir="ltr">Hola,<br><div><div class="gmail_extra"><br><div class="gmail_quote">El 30 de julio de 2015, 9:12, Toni Homedes i Saun <span dir="ltr"><<a href="mailto:toni@homedes.net" target="_blank">toni@homedes.net</a>></span> escribió:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Hola JJ,<br>
<br>
Para estar seguro lo he vuelto a probar así:<br>
<br>
perl -e '$hr = {'A' => 1, 'B' => 2}; print "$a => $b\n" while (($a, $b) = each $hr)' | head<br>
<br>
y va bien, con lo que confirma que `each` acepta referencias a hash. Lo que da la sensación es de que falle cuando en lugar de una variable uses un literal: `each {A => ...`<br>
<br>
Si no fuera porque no se lo bastante de Perl, parece que fuese un bug de Perl en que<br>
<br>
    $hr = {..}; while (each $hr)<br>
<br>
va bien y<br>
<br>
    while (each {...})<br>
<br>
va mal.</blockquote></div><br></div><div class="gmail_extra">¿Qué versión de Perl estás usando? Si mal no recuerdo (de la charla sobre 5.22 en el Fosdem) ese uso era todavía experimental en las anteriores a esa. Por eso puede ser que se comporte de forma diferente en una referencia que en un literal.<br><br></div><div class="gmail_extra">Saludos<br><br></div><div class="gmail_extra">JJ<br></div></div></div>