use Expect;# http://www.cpan.org: Expect-1.15, IO-Stty-.02, IO-Tty-1.02 use IO::Stty; my $option='0'; my $exp = new Expect(); if($option eq '1') { installXSD(); if (Install is successful) { # some logic here then unInstallXSD(); } } elsif($option eq '2') { unInstallXSD(); } sub installXSD{ $exp->slave->clone_winsize_from(\*STDIN); $exp->spawn("telnet",$host) or die "Can't Spawn a telnet host,".$exp->exp_error()."\n"; my $expstr = "login: "; $exp->expect(5,$expstr) or die "Can't find login prompt.,".$exp->exp_error()."\n"; $exp->send_slow(0.1,"$user\r"); $expstr = "Password: ";$exp->expect(5,$expstr) or die "Can't find password prompt.,".$exp->exp_error()."\n"; $exp->send_slow(0.1,"$password\r"); $expstr = "\$ "; $exp->expect(10,$expstr)or die "Can't find $ prompt after logging to host.,".$exp->exp_error()."\n"; # Have some logic here ..... $exp->soft_close(); } sub unInstallXSD{ $exp->slave->clone_winsize_from(\*STDIN); $exp->spawn("telnet",$host) or die "Can't Spawn a telnet host,".$exp->exp_error()."\n"; my $expstr = "login: "; $exp->expect(5,$expstr) or die "Can't find login prompt.,".$exp->exp_error()."\n"; $exp->send_slow(0.1,"$user\r"); $expstr = "Password: "; $exp->expect(5,$expstr) or die "Can't find password prompt.,".$exp->exp_error()."\n"; $exp->send_slow(0.1,"$password\r"); $expstr = "\$ "; $exp->expect(10,$expstr)or die "Can't find $ prompt after logging to host.,".$exp->exp_error()."\n"; # Have some logic here ..... $exp->soft_close(); }