in reply to RPC

i'd actually opt for IPC::Open2 or IPC::Open3.

errors in the process running remotely are captured w/ Open3.

i'd also suggest SNMP, but if that's not an option. . .