[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

atascado con un script menu



Hola a todos.

Quiero hacer un script que presente un menu en la consola (elije 1, 2,
3), y añadirle la funcionalidad de un timeout, el cual trancurridos
unos segudos elija una opción por defecto.

Lo estoy intentando en Perl (pero si se puede hacer en bash o incluso
C me viene bien, la idea es que se pueda ejecutar en debian), pero me
estoy liando.

El menú lo tengo claro, un stdin y unos cuantos if, el problema es que
no sé como implementar el timeout.

Buscando por el google, he leido que para realizar menus interactivos
no se utiliza el stdin ya que no permite automatizar el proceso de
entrada de datos.

Mirando en cpan he encontrado cosas como expect, send, spawn y en C he
visto que la librerias tipo conio y iostream me pueden venir bien.

El caso es que cada vez me estoy perdiendo más y por eso os pido ayuda.

Ni que decir tiene que todo esto es porque estoy muy justito en
programación.

¿Por donde he de enfocar la cosa?

De momento solo he llegado a esto:

#!/usr/bin/perl
use Term::ANSIColor;

imprime_menu();

close(STDIN);
print STDOUT "Por favor elije una opción:\n";
$input = <STDIN>;
print STDOUT "The number is $input\n";
chop($input);  

if ($input =='') {
	sleep 5;
	print 'vacio!';
	print "Han pasado 5 valiosos segundos!!\n";
	$input = "5\r";
	print $input;
	close(STDIN);
} 
if ($input == '1') {
	print 'opcion1!';
}
if ($input eq '2') {
        print "\nopcion2\n";
} 

Gracias



Reply to: