#!/bin/perl use Expect; $host = xxxxx; $user = yyyyy; $pw = shift; #--- CONFIGURATION -----------------------------------------------------------# $cmd = "ssh -l $user $host"; $prompt = "[Pp]assword"; #--- START SSH LOGIN SEQUENCE ! ----------------------------------------------# $exp = new Expect(); $exp->log_file("SSHLOGFILE.txt"); $exp->raw_pty(1); $exp->spawn($cmd); $exp->expect(10, [ qr/\(yes\/no\)\?\s*$/ => sub { $spawn->send("yes\n"); exp_continue; } ], [ $prompt => sub { $_[0]->send("pwd\n"); } ]); Here im unable to switch to super user login $exp->send("su - root\n"); $exp->expect(10, [ $prompt => sub { $_[0]->send("pwd\n"); } ]); $exp->close();