En la página perdoc Socket, utilizan el identificador de archivo global para socket. Pero si creo un socket en una subrutina llamada por procesos hijos, ¿es mejor usar el manejador de archivos léxico aún usando Socket?perl (práctica recomendada): manejador de archivo léxico para el socket
así:
use strict;
use Socket;
sub sendData
{
my $proto = getprotobyname('tcp');
my $socket;
socket($socket, PF_INET, SOCK_STREAM, $proto);
...
close($socket)
}
en lugar de:
sub sendData
{
my $proto = getprotobyname('tcp');
socket(SOCKET, PF_INET, SOCK_STREAM, $proto);
...
close(SOCKET)
}
Parece estar bien, pero no sé si es una mejor práctica o completamente inútil ...
Gracias
En realidad, esto se ha solucionado en [versiones recientes] (https://metacpan.org/module/Socket) de Socket –