Sería interesante ver la salida del
log para saber qué se envía y qué se recibe.
Según la documentación del módulo (yo nunca he manejado un enrutador Cisco directamente) para pasar al modo privilegiado hay que ejecutar el método enable(), como tienes puesto en el código.
El problema está en el
prompt: es
BUGA_MOTOROLA:7A>.
Por defecto, Net::Telnet::Cisco busca por
prompts de la forma siguiente:
Using perl Syntax Highlighting
#!/usr/bin/perl
use Modern::Perl;
my $reg_prompt = qr/^ [\w.-]+ \s? (?: \(config[^\)]*\) )? \s? [\$#>] \s? (?: \(enable\) )? \s* $/x;
my $prompt = 'BUGA_MOTOROLA:7A>';
say 'SI' if $prompt =~ $reg_prompt;
Coloreado en 0.001 segundos, usando
GeSHi 1.0.8.4
El programa no saca nada porque el
prompt no coincide con el patrón de búsqueda: hay un carácter ':' que no coincide con la parte de
[\w.-].
La solución es la que comenté antes: hay que indicar un
prompt personalizado para este caso.
Debes usar la opción
Prompt => $matchop, al crear el objeto Net::Telnet::Cisco, indicando un nuevo patrón de búsqueda. En tu caso sería tan fácil como añadir el ':' a la expresión regular:
[\w.:-]+.