加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 大数据 > 正文

Perl的内置`Internals ::`包的文档在哪里?

发布时间:2020-12-15 23:36:59 所属栏目:大数据 来源:网络整理
导读:当使用键%::获取当前加载的根命名空间的列表时,默认情况下会加载Internals ::包(以及UNIVERSAL ::和其他一些).但是,我没有找到任何关于Internals中的函数的文档:: keys%{Internals ::}返回SvREFCNT hv_clear_placeholders hash_seed SvREADONLY HvREHASH r
当使用键%::获取当前加载的根命名空间的列表时,默认情况下会加载Internals ::包(以及UNIVERSAL ::和其他一些).但是,我没有找到任何关于Internals中的函数的文档::

keys%{Internals ::}返回SvREFCNT hv_clear_placeholders hash_seed SvREADONLY HvREHASH rehash_seed

所有这些都可以在Perl的C API文档中查找,但是有没有针对它们的Perl级别文档?包装稳定吗?它被几个核心模块(Hash :: Util用于一个)使用,所以我想它是,但缺乏文档有点令人不安.

我没有在Perl发行版中看到Internals.pm(可能是不同的名字?),并且它不是CPAN上的Internals模块.

注意:我完全理解Internals ::中的函数是有潜在危险的,我没有任何特别的用途.我正在阅读Hash :: Util的源代码并遇到它.

解决方法

IIRC的代码不是Internals.pm而是 libinternals.c.看起来它们曾经是在 universal.c in Perl 5.8但是已经迁出了.

根据03/2009和Perl 5.10,它们没有按照this perlmonks thread记录.

另外,在同一个帖子中,ysth表示:

Undocumented things in universal.c should not be depended on; they should only be used by core modules. They aren’t documented on purpose,to allow them to be changed whenever and however necessary. For those purposes,the code is good enough documentation.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读