Naturalmente, se pueden poner asignaciones dentro de una condición if.
Perl ejecuta la expresión y luego la evalúa. Si es 0 o nula, no es verdadera y continúa con lo que hay después de la sentencia if.
Si a una variable le asignamos el valor 0, el resultado de la expresión es el resultado de la última expresión, luego también es 0. Si if se encuentra con un 0, luego la condición es falsa y no se ejecuta.
Entra en
qué es verdadero o falso en Perl y busca por
Truth and Falsehood.
Quizás no me expliqué bien en mi anterior mensaje... en el código corregido
Using perl Syntax Highlighting
if ($edad == 0) {
print “ Verdadero o falso”;
}
Coloreado en 0.001 segundos, usando
GeSHi 1.0.8.4
si $edad es 0, entonces sacará la frase. Pero en
Using perl Syntax Highlighting
if ($edad = 0) {
print “ Verdadero o falso”;
}
Coloreado en 0.001 segundos, usando
GeSHi 1.0.8.4
da igual el valor que tenga $edad, nunca sacará nada.