$expectobj = Expect->spawn('telnet', $cisco_hostname) $expectobj->expect($timeout, 'ogin:'); #the above line assumes the router will give you a login #prompt which ends in 'ogin:', you may need to modify it #to fit your needs $expectobj->send_slow(0, $login_name, "\r\n"); $expectobj->expect($timeout, 'ord:'); $expectobj->send_slow(0, $password, "\r\n"); $expectobj->expect($timeout, $shell_prompt); #$shell_prompt should be something like '$' or '#' or whatever #let's you know that you can start typing commands $expectobj->send_slow(0, "copy startup-config tftp\r\n"); sleep(1); #just to make sure the previous command has been processed $expectobj->send_slow(0, $remainder_of_data_to_send);