день добрый. У меня убунта. Повесил я на один интерфейс 12 ip адресов (192.168.100.1...12)чтоб другая железка думала что к ней с разных машин информация приходит(это тестовый стенд). И мне надо отправлять данные с разных ip.
Код:
#!/usr/bin/perl -w
use IO::Socket;
$sock = IO::Socket::INET->new(LocalIp => 192.168.100.7, LocalPort => 4002, Proto => 'udp') or die "socket: $@";
$portaddr = sockaddr_in(4001, 192.168.100.99);
$s = "lapuh";
send($sock, $s, 0, $portaddr);
Но данные шлются с адреса 192.168.100.1 вместо 192.168.100.7(если верить wireshark)
Почему так? и что делать?
чтобы интерпретатор ругался побольше используйте use strict и use warnings, хотя в этом случае интерпретатор может и не ругнуться вообще, там - хэш, а вы просто туда вносите какие-то свои значения: если нет проверок на то что в new только то что ожидается, то интерпретатор ругаться и не должен.