<p dir="ltr">¡Hola mongers!</p>
<p dir="ltr">Varias cosas:</p>
<p dir="ltr">1) Agradeceros la repetición del curso</p>
<p dir="ltr">foreach my $persona (@personasQueHicieronPosibleElCurso) {<br>
    print "Gracias $persona ;)\n";<br>
};</p>
<p dir="ltr">2) Tengo unas cuantas dudas, espero que no sean muy noobs ni rebuscadas y os entretengáis echándome un cable, os lo agradeceré:</p>
<p dir="ltr">2.1) substr vs unpack</p>
<p dir="ltr">En el Perl cookbok (cap.1 accessing substrings: <a href="http://docstore.mik.ua/orelly/perl/cookbook/ch01_02.htm">http://docstore.mik.ua/orelly/perl/cookbook/ch01_02.htm</a> ) dice que podemos usar unpack para extraer substrings más rapidamente que con substr.</p>

<p dir="ltr">Teniendo una $cadena = 'cadena de texto'<br>
Podemos extraer el 'de' así:<br>
    substr($cadena, 6, 3);<br>
    o asi<br>
    unpack("x7 A2", $cadena);</p>
<p dir="ltr">He mirado el perldoc de unpack( <a href="http://perldoc.perl.org/functions/unpack.html">http://perldoc.perl.org/functions/unpack.html</a> ), y otro tutorial( <a href="http://www.perlmonks.org/?node_id=557655">http://www.perlmonks.org/?node_id=557655</a> )<br>

y no me queda nada claro "de qué va el unpack..." simplemente que es más rápido que el substr porque lo dice el cookbook...</p>
<p dir="ltr">El debate sería: ¿Qué os parece usar el unpack como en este ejemplo frente al substr? ¿Lo usáis? ¿Cuando y cuando no?</p>
<p dir="ltr">2.2) Llamadas a subrutinas<br>
marine();<br>
o<br>
&marine();</p>
<p dir="ltr">¿simple cuestión de estilo o tiene alguna otra implicación?</p>
<p dir="ltr">2.3)Expresiones regulares<br>
Leyendo de un archivo con líneas que contienen lo siguiente:<br>
FBtr123;blablabla<br>
Y<br>
FBtr123,FBtr567,FBtr120;blabla</p>
<p dir="ltr">Para almacenar estos match estoy haciendo:<br>
push(@FBtr, $1) if ($line=~/(FBtr\d+);/ || $line=~/(FBtr\d+,.+);/ )   #guardar un match si sólo hay uno, y guardarlos todos si sólo<br>
¿Es esto lo mejor?</p>
<p dir="ltr">¿o seria mejor así? <br>
push(@FBtr, $1) if ($line=~/(FBtr\d+);||(FBtr\d+,.+);/ )</p>
<p dir="ltr">*empecé a descubrir algo de los lookahead,  y pensé que podría implementarlo para ver si hay 'un solo fbtr'  o 'más de uno' pero creo que también eso sería liar el rizo innecesariamente ¿os parece? </p>

<p dir="ltr">2.4) Paso de argumentos a subrutinas<br>
Pasando por valor, la subrutina se hace una copia interna del argumento, así que no podemos devolverlo fuera de la sub (o si lo devolvemos no será el modificado dentro de la sub)<br>
Pasando por referencia, la sub puede modificar dichos argumentos.<br>
Pero, si quisiera pasar un array, aunque no quiera que lo modifique; ¿ Debería pasarlo referenciado, por que si no hará la ¿expansión?/flatten del array ?<br>
Es decir<br>
$marine($a, \@b) #Bien?<br>
&marine($a, @b) #Mal porque expande @b?</p>
<p dir="ltr">use 5.010;<br>
say "un abrazo!! " ;</p>
<p dir="ltr">-- <br>
Sergio González<br>
Bioinformático && Biólogo marino<br>
<a href="http://about.me/sergiogoro">http://about.me/sergiogoro</a><br>
</p>