我對Perl編程新手。 我想要做的是通過套接字發送一些十六進制字符串。 以下是我正在寫的一個perl代碼。 它完美的作品。 但我需要修改從第7字節到10字節是IP地址的十六進制字符串。我不能修改十六進制字符串的socket通信
#!/usr/bin/perl -w
use IO::Socket::INET;
my $data= "\x0f\x00\x00\x00\x00\x00\x0a\x14\x1f\x01";
# create a socket
my $sock = new IO::Socket::INET(
PeerAddr=>'192.168.1.101',
PeerPort=>'8121',
Proto=>'udp) or die $!;
# send some data to server
$sock->send($data);
$sock->close();
exit(0);
但我不知道如何修改$ data的IP地址部分。 如果我使用如下,
my @data= (0x0f,0x00,0x00,0x00,0x00,0x00,0x0a,0x14,0x1f,0x01);
我可以訪問數據和修改如下圖所示。
$data[6] = 0x0a;
$data[7] = 0x14;
$data[8] = 0x1f;
$data[9] = 0x02;
但我不知道如何修改這樣的$數據。 請給我一些想法! 在此先感謝。
我下面竟然增加了額外的問題。 – user1339750