open X, a bidirectional pipe to "ssh myrpcserver.mydomain.com -c /path/to/my_rpc_server_code"; print X "my RPC commands"; my $RPC_results = ; #### use My_Remote_Library; # This hides the RPC stuff in there somewhere My_Remote_Library::Do_Some_Administrative_Task_With({account=>'bob', server=>'www', action=>'delete_account'}); # This executes Do_Some_Administrative_Task_With on the remote server, over the # secure ssh pipe, and gives us back the results in some # useful manner. I put no thought into the calling interface, # it would probably make much more sense in real life, if # it existed.