Cómo llamar a una subrutina de Perl en un host remoto (posiblemente a través de un comando de sistema)?
Quiero llamar a una subrutina de Perl en un host remoto. ¿Cómo se puede hacer?
Lo que estoy intentando hacer (que no funciona):
my $sshCmd = "ssh";
my $var1 = "ABC";
&sshToUpdateSim;
sub simUpdate
{
$var1 = "32";
print "dentro de la subrutina, $var1 es var1\n";
}
sub sshToUpdateSim
{
system("$sshCmd machinewin10 \"simUpdate()\"");
}
print "$var1 es var1 ahora";
Aquí, se requiere llamar a la subrutina “simUpdate” en un host remoto llamado “machinewin10”.
Se agradecerá mucho la ayuda.
¡Gracias anticipadas!
davy.ai
Para llamar a una subrutina Perl en un host remoto, puedes usar el módulo Perl Net::OpenSSH. Aquí tienes un ejemplo de un fragmento de código:
En este ejemplo, creamos un nuevo objeto Net::OpenSSH conectado al host remoto “machinewin10”. Luego usamos el método system() para ejecutar un comando Perl en el host remoto. El comando define la subrutina simUpdate y luego la llama.
Puedes reemplazar el comando en el método system() con tu propia llamada a una subrutina, de esta manera:
Este comando define la subrutina simUpdate con la variable $var1 configurada en 32 y luego llama a la subrutina.
Ten en cuenta que es posible que necesites configurar tu conexión SSH para autenticarte en el host remoto mediante autenticación basada en clave, en lugar de una solicitud de contraseña.