我正在研究IO:Socket.pm模塊,並且我第一次看到「* $ sock」符號。
sub socket {
@_ == 4 or croak 'usage: $sock->socket(DOMAIN, TYPE, PROTOCOL)';
my($sock,$domain,$type,$protocol) = @_;
socket($sock,$domain,$type,$protocol) or
return undef;
${*$sock}{'io_socket_domain'} = $domain;
${*$sock}{'io_socket_type'} = $type;
${*$sock}{'io_socket_proto'} = $protocol;
$sock;
}
以下語法的意圖是什麼?
${*$sock}{'io_socket_domain'} = $domain;
尤其是我指的星號標記法... $襪子是一個對象,據我理解,但是這是什麼東西:$ {* $襪子}?這個星號運算符是如何調用的?它的目的是什麼?
如果有人能讓我看到一些實用的簡約例子,我將不勝感激。