in reply to using IO::react

Not really. The non-portable part of Expect is the dependency on IO::Pty. Proc::Spawn also depends on IO::Pty. IO::React is just more flexible than Expect, but it doesn't get around IO::Pty portability problems. Maybe try Net::Telnet.