帮忙看看这个udp通信的问题

帮忙看看这个udp通信的问题
客户端:
use IO::Socket;
$sock = IO::Socket::INET->new(PeerAddr=>'127.0.0.1',
PeerPort=>3000,
Proto=>'udp',
Listen=>3,
Reuse=>1);
$data="Hello";
foreach(1..10)
{
print $sock "$data\n"; }
$sock->recv($msg,100,0);
print $msg;

close $sock;


服务器端
$sock = IO::Socket::INET->new(PeerAddr=>'127.0.0.1',
PeerPort=>3000,
Proto=>'udp',
Listen=>3,
Reuse=>1);
while(1)
{
$sock->recv($data,100,0);
print "$data\n";
$sock->send("I get","127.0.0.1");
}

为什么运行了上面的两个程序后,服务器收到了客户端发的数据,但是客户端没有收到服务器发的呢?
我感觉客户端的$sock->recv($msg,100,0);print $msg;这两句没有执行