use Net::Telnet (); #set up telnet session the prompt # can be tricky if not the same #on each machine but some #creative regex'ing should get you over tht hump $t = new Net::Telnet (Timeout => 2-, Prompt => '/bash\$ $/'); $t->open("your.remote.host.com"); $t->login($username, $passwd); @lines = $t->cmd("./your_remote_script.pl"); # returns any result or error lines print @lines;