Aprendiendo Perl, el reto: Encontrar duplicados

Marcelo E. Magallon marcelo.magallon en gmail.com
Jue Abr 5 17:42:02 PDT 2012


Hola,

On Thu, Apr 05, 2012 at 02:30:39AM -0600, Dmitriy Ryajov wrote:

>     opendir my $dh, $directory or
>         print "Error opening dir: $directory\n$!" &&
>         return; # don't die, we just want to skip this dir

 Si bien la construcción es perfectamente válida, en general
 cosas estilo "a or b || c" son mejor evitarlas.  No me refiero a
 "a or b" sino a la mezcla de operadores booleanos de baja
 precedencia (or, and, not) con operadores de alta precedencia
 (||, &&, !).  La razón es mantenibilidad del código.

 Consideren por ejemplo este ejemplo absurdo:

 ---------- 8< ----------
 sub test
 {
    0 or say 1 && return;
 }

 test;
 ---------- >8 ----------

 ¿Qué pasa cuando otra persona venga detrás y haga esto?

 ---------- 8< ----------
 sub test
 {
    0 or say 1, " ", 2 && return;
 }

 test;
 ---------- >8 ----------

 Saludos y gracias por el aporte,

 Marcelo


Más información sobre la lista de distribución Costarica-pm