Hello all,

I am writing a script that opens up a telnet session with a specific device,
and issues a command.
I would then like to look through each of the lines and look for the target
line by matching a pattern.
Once this is done, I would like to split the values and assign the to
variables.

The thing is, that I took the output of the command "show dhcp client" and
copied it to a text file.
Then looked through the text search with the while.  Find the pattern, split
and fill the variables.
It worked fine...
I cannot seem to get it to work with the telnet session.
I know that I could capture all of the text and write it to a filehandle,
then
search through that file, but I would prefer to skip that step.

Any suggestions?
Script is below.

#!/usr/bin/perl -w

use IO::Socket;
use IO::File;

$router = "143.137.50.210";


print "Connecting to IP address $router\n";
$remote = new IO::Socket::INET(PeerAddr=>$router,
     PeerPort=>23,
     Proto=>"tcp",
     Type=>SOCK_STREAM) or die "Couldn't connect to IP address
$router\nSystem error: $!";

# output the address and the port we are connected to
print "Connection made to ", $remote->peerhost, "", "\n";

# set buffering off
$remote->autoflush(1);

print $remote "\n\n";
print $remote "show dhcp client\n";
print $remote "quit\n";

while ($line = <$remote>){
 if ($line =~ m/^IP Address/){
 ($ipAddress, $ipValue) = split(/\s+:\s+/, $line);
 #print $line;
 print "The $ipAddress for your router is $ipValue";
 }
}

close ($remote);


Thanks,

Craig
[EMAIL PROTECTED]
Pager
Numeric: 1-877-895-3558
Email pager: [EMAIL PROTECTED]
--------------------------------------------------------------
You will never find time for anything.
If you want time, you must make it.

Charles Buxton

Reply via email to