Tengo el siguiente código Perl que se basa en Term::ReadKey
para obtener el ancho del terminal; A mi compilación de NetBSD le falta este módulo, por lo que quiero establecer el ancho del terminal por defecto en 80 cuando falta el módulo.¿Cómo puedo verificar si tengo un módulo Perl antes de usarlo?
No puedo averiguar cómo usar un módulo de forma condicional, sabiendo de antemano si está disponible. Mi implementación actual simplemente se cierra con un mensaje que dice que no puede encontrar Term::ReadKey
si está ausente.
#/usr/pkg/bin/perl -w
# Try loading Term::ReadKey
use Term::ReadKey;
my ($wchar, $hchar, $wpixels, $hpixels) = GetTerminalSize();
my @p=(2,3,5,7,11,13,17,19,23,29,31,37,41,43,47,53,59,61,67,71,73,79,83,89,97);
my $plen=$#p+1;
printf("num |".("%".int(($wchar-5)/$plen)."d") x $plen."\n",@p);
estoy usando Perl 5.8.7 y 5.8.8 en NetBSD en CygWin Me puedes ayudar a implementar esto en mi script de manera más efectiva?
En mi opinión, ya sea el título está mal, o todas las respuestas (excepto, quizás, el que utiliza el módulo de carga :: :: condicional, si se utiliza check_install()) que están mal .El título pregunta cómo marcar "si tengo un módulo Perl * antes de usarlo *". Todas las respuestas usan alguna variación de "detectar errores con eval * mientras * requiere/cargar/usarlo". –