I wrote my own a while back. Does ssh but also will fall back to rsh then telnet. Implemented as an object it keeps the connection open for you to send command after command. Also handles different shell styles on the other end (bash, tcsh, etc.). Note this is not a CPAN module so there's no real install, just use the module. See
Rexec.pm