$TESTHOST = '1.2.3.4'; use IPC::Open2; $SSH_FLAGS = qq^-t -t -q -o "ConnectTimeout=30" -o "PasswordAuthentication=no" -o "StrictHostKeyChecking=no" -o "ChallengeResponseAuthentication=no" -o "PreferredAuthentications=publickey,server"^; $SSH_FLAGS =~ s/[\n\r\t]/ /g; $tmpcmd = "ssh ${SSH_FLAGS} ${TESTHOST} ls"; open2(*SSHREAD, *SSHWRITE, $tmpcmd); while () { $currline = $_; print $currline; } close(SSHREAD); close(SSHWRITE); print "Done!\n";