Perl - Tengo un problema

 
Vista:

Tengo un problema

Publicado por Diego (8 intervenciones) el 02/11/2001 01:12:12
Hola, no se porque no me funciona bien este programa:

#!/usr/bin/perl
print \\\"opcion 1: hola\\\\n\\\";
print \\\"opcion 2: buenas\\\\n\\\";
print \\\"opcion 1: adios\\\\n\\\";
print \\\"Elegir una opcion \\\\n\\\";
$elegir=<STDIN>
if ($elegir=1)
{
print \\\"hola\\\\n\\\";
}
elsif ($elegir=2)
{
print \\\"buenas\\\\n\\\";
}
elsif ($elegir=3)
{
print \\\"adios\\\\n\\\";
}

Da igual que opcion eligas que sale la 1ª hola siempre, he probado con for pero
es igual como hay que hacer para hacer un menu asi de este tipo y realice la
sentencia que deba, haber si alguien me ayuda gracias de antemano
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:Tengo un problema

Publicado por Diego (8 intervenciones) el 02/11/2001 01:14:27
en el programa que puse no se porque salio mal las \, es asi

#!/usr/bin/perl
print "opcion 1: hola\n";
print "opcion 2: buenas\n";
print "opcion 1: adios\n";
print "Elegir una opcion\n";
$elegir=<STDIN>
if ($elegir=1)
{
print "hola\n";
}
elsif ($elegir=2)
{
print "buenas\n";
}
elsif ($elegir=3)
{
print "adios\n";
}
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Tengo un problema

Publicado por Pablo_Marmol (1 intervención) el 13/11/2001 19:15:32
el problema es que estas haciendo una asignación en el (If ) y no una comparación:
if ($elegir == 1) { .. }
= es asignación
== es comparación
si quieres comparar texto en vez de (==) es (eq)
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar