Это не проблема с отладчиком, это предупреждение, выдаваемое sockaddr_in
, когда оно используется с двумя аргументами в контексте списка.
$ perl -MSocket -wE 'say length(sockaddr_in(123,inet_aton("localhost")))'
16
$ perl -MSocket -wE 'say sockaddr_in(123,inet_aton("localhost"))'
usage: (port,iaddr) = sockaddr_in(sin_sv) at -e line 1.
sockaddr_in
имеет два синтаксиса вызова. Он может преобразовать неупакованный порт и адрес в адрес упакованного сокета (преобразование списка из двух элементов в скаляр) или преобразовать адрес упакованного сокета в порт и адрес (преобразование скаляра в список из двух элементов).
$sockaddr = sockaddr_in($port,$ip_address);
($port,$ip_address) = sockaddr_in($sockaddr);
Он может сказать, какая операция запрашивается по количеству аргументов, переданных функции, и по контексту вызова функции, и предупреждает, когда эти два несовместимы.