james_culling has asked for the wisdom of the Perl Monks concerning the following question:

Hi, I am not able to run reload command in ap using the perl script.
my $telnet_session = new Net::Telnet (Timeout => 10); # $telnet_logfile && $telnet_session->input_log($telnet_logfile); $telnet_session->errmode('return'); $telnet_session->open("192.168.12.2") or return $telnet_session; $telnet_session->waitfor('/Username: $/') or return $telnet_session; $telnet_session->print($username); $telnet_session->waitfor('/Password: $/') or return $telnet_session; $telnet_session->print($ro_pass); $telnet_session->waitfor('/ap.*>$/i') or return $telnet_session; $telnet_session->print('enable'); $telnet_session->waitfor('/Password: $/') or return $telnet_session; $telnet_session->print($en_pass); $telnet_session->waitfor('/ap.*\#$/i') or return $telnet_session; $telnet_session->send('reload'); $telnet_session->waitfor('/System configuration has been modified. Sa +ve? [yes/no]:$/') or return $telnet_session; $telnet_session->print('yes'); $telnet_session->waitfor('/Proceed with reload? [confirm] $/') or retu +rn $telnet_session; print"rebooted"; # return $telnet_session;
I am getting error in the below line'$telnet_session->waitfor('/System configuration has been modified. Sa +ve? yes/no:$/') or return $telnet_session; I am not able to find the error in the wait_for command. bad match operator: Substitution pattern not terminated

Replies are listed 'Best First'.
Re: reboot for cisco ap
by Ralesk (Pilgrim) on Feb 03, 2014 at 10:58 UTC

    You might want to escape the / character in the “yes/no” line.

      U mean like this $session->waitfor('System configuration has been modified. Save? yesno: \s*\z', 4) ;

        Something like

        $telnet_session->waitfor('/System configuration has been modified. Save? [yes\/no]:$/') or return $telnet_session;
      I am getting the blelow error now usage: $obj->re_sans_delims($matchop)