Aha, da kommen wir der Sache doch wenigstens ein klein wenig naeher...
Net::Telnet::Netscreen sollte die Funktion
lastPrompt kennen... bzw. probier mal
last_prompt (ist aus
Net::Telnet und
Net::Telnet::Netscreen erbt davon)...
Du hast immer noch das
waitfor drin?? Damit sollten eigentlich keine Kommandos mehr gesendet werden bis eben die Frage auftaucht...
Und wo taucht das
chomp auf?? Kannst Du mal alles auf ein Minimalscript reduzieren?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
#!/usr/bin/perl
use strict;
use warnings;
use Net::Telnet::Netscreen;
my $inlog = "$path/log/".$host."-".$wan."_in.stat";
my $outlog = "$path/log/".$host."-".$wan."_out.stat";
my $wan = "your_wan"; #hier Deinen Wert eintragen
my $session = Net::Telnet::Netscreen->new(
Host => $wan,
Timeout => 90,
Input_log => $inlog,
Output_log => $outlog,
) or die Net::Telnet::Netscreen::error();
#einloggen auf der CPE
$session->login('xy', 'zzzzz') or die $session->error; #hier Deine Werte eintragen
my $set_router = "set vrouter trust-vr";
my $unset_protocol = "unset protocol rip";
my $yes = "y";
my $exit = "exit";
my $save = "save";
$session->cmd($set_router) or die $session->error;
$session->cmd($unset_protocol) or die $session->error;
$session->waitfor('/deleting RIP instance, are you sure\? y\/\[n\]/') or die $session->error;
$session->cmd($yes) or die $session->error;
$session->cmd($exit) or die $session->error;
$session->close or die $session->error;