in reply to Net::SSH::Expect login using SSH keys
You first step should be to make possible errors from eval visible; currently you're wasting valuable debug information. See $@.