<div dir="ltr"><div><div>En el primer caso tu codigo crea una referencia a un hash y lo almacena en una variable que luego usa para referenciarlo.<br><br></div>En el segundo caso, tu codigo crea un hash distinto en cada iteración.<br><br></div>Ten en cuenta que las llaves son constructores de hashes. Cada vez que el control del programa pasa por ellas se crea un hash nuevo.<br></div><div class="gmail_extra"><br><div class="gmail_quote">2015-07-30 9:44 GMT+02:00 JJ Merelo <span dir="ltr"><<a href="mailto:jjmerelo@gmail.com" target="_blank">jjmerelo@gmail.com</a>></span>:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr">Hola,<br><div><span class=""><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></span><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<span class="HOEnZb"><font color="#888888"><br><br></font></span></div><span class="HOEnZb"><font color="#888888"><div class="gmail_extra">JJ<br></div></font></span></div></div>
<br>_______________________________________________<br>
llista dels Barcelona-pm<br>
<a href="mailto:Barcelona-pm@pm.org">Barcelona-pm@pm.org</a><br>
<a href="http://mail.pm.org/mailman/listinfo/barcelona-pm" rel="noreferrer" target="_blank">http://mail.pm.org/mailman/listinfo/barcelona-pm</a><br>
BCN Perl Mongers: <a href="http://barcelona.pm.org" rel="noreferrer" target="_blank">http://barcelona.pm.org</a><br></blockquote></div><br></div>