#!/usr/bin/perl use Expect; our $abi; $res = open_telnet(); if ($res) { print "Failure. Error message: $res\n"; exit; } telnetcmd("ls"); telnetcmd("exit"); exit; sub open_telnet { my ($cmd, $res, $before, @parm); $cmd = "telnet wogglebug"; $abi = Expect->new(); $abi = Expect->spawn($cmd) or die "Can't do expect'"; $res = $abi->expect(5, "/ #", "not known"); if ($res == 1) { return 0; } $before = $abi->before(); if (!$before) { $before = "telnet failed. No reason given"; } return $before; } sub telnetcmd { my ($cmd, $res); $cmd = shift(@_); # print $abi "$cmd\n" or die "Can't write to expect object"; $abi->send("$cmd\n") or die "Can't send to expect object: $abi->error()"; $res = $abi->after(); print "-----------\nAfter: $res\n----------\n"; return $res; }