gpt4 book ai didi

perl - 我可以从任何 Perl 模块动态获取函数列表或函数名称吗?

转载 作者:行者123 更新时间:2023-12-04 10:05:49 24 4
gpt4 key购买 nike

我想从我系统上可用的任意 Perl 模块动态获取函数名称(作为字符串)或函数引用的列表。这将包括可能有也可能没有的模块,例如,全局 @EXPORT_OK其命名空间中的数组。这样的壮举可能吗?如果是这样,如何做到这一点?

编辑:来自阅读perlmod ,我看到 %Some::Module::用作 Some::Module 的符号表.这是寻找的正确地方吗?如果是这样,我怎样才能将表格缩减为 Some::Module 中的函数名称? ?

最佳答案

我正在使用 Perl 5.20。这适用于我的机器:

use strict;

package foo;
our $some_var;
sub func1 { return 'func1'}
sub func2 { return 'func2'}

package main;
sub callable {
my ($x) = @_;
return defined(&$x);
}

while (my ($k, $v) = each(%foo::)) {
if (callable($v)) {
print("$k\n");
}
}

# output:
# func1
# func2

关于perl - 我可以从任何 Perl 模块动态获取函数列表或函数名称吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4404342/

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