Buenas underc0deanos :)
Hace unos dias que comenze con perl, y estoy creando un programa que permita elegir al usuario una key de un hash,
Despues se le pregunta por el value de esa key y el programa tiene que saber si es correcto o no, aqui esta el codigo:
#!/usr/bin/perl
%champroled = ('tristana' => 'adc' ,'sona'=> 'support','diana'=>'mid','malph'=> 'top','sejuani'=> 'jungle');
@champs= keys %champroled;
@rol = values %champroled;
$init = 0;
print "Elige un campeon de la lista\n";
for $i ($init .. $#champs){
print "$champs[$i] \n";
}
$campeon = <>;
print "Que rol cumple este campeon?\n";
$roled = <>;
if ($roled == $champroled{$campeon}){
print "Muy bien :)\n";
}
else {
print "Has fracasado\n";
}
Sea falso o verdadero retorna siempre el "Muy bien :)",
He buscado por internet pero no logro dar con la solucion :(, es mi iniciacion en programacion y estoy super verde...
Si alguien puede echarme una mano seria genial :)
Un saludo.
Vale ya lo he solucionado...
primero la comparacion entre strings hay que hacerla con eq no con ==,
despues puse chomp($var); para los dos inputs de los usuarios, aun no se que es chomp, pero ley por ahi que te soluciona este tipo de problemas.
Gracias a todos y disculpas por postear tan rapido antes de tomarme tiempo para investigarlo mas a fondo...