tengo la siguiente secuencia de comandos:
#!/usr/bin/perl
use warnings;
use strict;
my $count = 0;
my (@first , @second , @third);
while ($count <= 7){
push (@first , $count);
push (@second , $count) if defined $count;
push (@third , $count) if $count;
$count++;
}
print "first: @first\n";
print "second: @second\n";
print "third: @third\n";
Esto produce el siguiente resultado:
first: 0 1 2 3 4 5 6 7
second: 0 1 2 3 4 5 6 7
third: 1 2 3 4 5 6 7
Cuál es la diferencia entre poner if defined $count
vs if $count
, que no sea el último método no va a añadir el cero a la matriz? He buscado los perldocs pero no he podido encontrar la respuesta.
debería ser: "cuando $ count evalúa! = 0" –
@nathan. Cheers –
Ambos funcionan de la misma manera, en realidad. Es el valor que prueban que es diferente. El primero prueba el valor de $ count, el segundo el valor de $ count definido. if() no le importa cómo se obtiene el valor. –