gpt4 book ai didi

perl - 为什么 Net::SSL 中的代码在我看不到需要的地方取消引用 typeglob?

转载 作者:行者123 更新时间:2023-12-01 02:36:51 27 4
gpt4 key购买 nike

Net::SSL是 Crypt::SSLeay 的一部分。今天在写一个错误报告时,我被可怜的老*多少次分心了。露面了。

例如,考虑 Net::SSL::configure :

*$self->{ssl_version} = $ssl_version;
*$self->{ssl_debug} = $ssl_debug;
*$self->{ssl_arg} = $arg;
*$self->{ssl_peer_addr} = $arg->{PeerAddr};
*$self->{ssl_peer_port} = $arg->{PeerPort};

也许是因为我对 5.8 之前的 Perl 不太熟悉,但我无法确定是否有使用 * 的重要原因在 LHS 上。不只是 *$self->{ssl_peer_port} = $arg->{PeerPort};够了吗?或者,这里有什么深层次的东西(例如 local $_local *_ )?

最佳答案

我没有安装模块,所以不能很容易地检查,但我认为这是因为对象是 globref;也就是说,一个受祝福的 typeglob 的引用。

这里没有别名。当你写

 *$self->{ssl_debug} = $ssl_debug;

它首先将 globref 解引用回完整的 typeglob。然后它只抓取 typeglob 的 hashref 方面并继续取消引用它。

这不是 5.8 之前或之后的事情。

你以为它在做什么?

关于perl - 为什么 Net::SSL 中的代码在我看不到需要的地方取消引用 typeglob?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9795926/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com