Telnet Ausgabe in Datei speichern

Kilrathy

Grünschnabel
Hallo zusammen

Folgendes hab ich vor: mit einem Perlskript regelmässig bestimmte Werte aus einem Router via Telnet auszulesen.

Den Zugang via Telnet und Befehle absetzen habe ich geschafft, nur bring ich die Ausgabe einfach nicht in eine Datei gespeichert, ich weiss auch nicht ob meine Ideen richtig sind.

So sieht das zur Zeit aus:
Code:
#!/usr/bin/perl -w

use Expect;

my $timeout = 10;
my $host = "127.0.0.1";
my $passwd = "sehrgeheim";
my $mem;

$telnet = Expect->spawn("/usr/bin/telnet", $host);

$r = $telnet->expect($timeout, 'Password');
die "No 'Password' prompt" unless defined $r;
$telnet->send_slow(0, "$passwd\n");

$r = $telnet->expect($timeout, 'uBR-EBM');
die "No 'uBR-EBM' prompt" unless defined $r;
$mem = $telnet->send_slow(0, "sh version\n");

open(ConfigFile, ">test.txt");
print ConfigFile "$mem";
close(ConfigFile);

$telnet->close;

Stimmt die Zeile mit $mem überhaupt? Ich will damit die Ausgabe als String speichern und unten wieder mit 'print' in das File 'test.txt' schreiben.

Besten Dank für die Hilfe
Gruss
Benjamin
 
Zurück