Na stronie Perdoc Socket używają one globalnej uchwytu pliku dla gniazda. Ale jeśli utworzę gniazdo w podprogramie wywoływanym przez procesy potomne, czy lepiej używać leksykalnego uchwytu pliku nadal używając Socket?perl (dobra praktyka): uchwyt pliku leksykalnego dla gniazda
tak:
use strict;
use Socket;
sub sendData
{
my $proto = getprotobyname('tcp');
my $socket;
socket($socket, PF_INET, SOCK_STREAM, $proto);
...
close($socket)
}
zamiast:
sub sendData
{
my $proto = getprotobyname('tcp');
socket(SOCKET, PF_INET, SOCK_STREAM, $proto);
...
close(SOCKET)
}
To wydaje się być ok, ale nie wiem, czy jest to lepsza praktyka lub całkowicie bezużyteczny ...
Dzięki
Naprawdę, zostało to naprawione w [nowszych wersjach] (https://metacpan.org/module/Socket) Socket –