在Perl中,如何检查从哪个模块导入一个给定的功能?
发布时间:2020-12-15 21:19:16 所属栏目:大数据 来源:网络整理
导读:我有一个调用函数的代码。但是我不知道这个功能所属的模块。我需要它来修改这个功能。 我该怎么检查? 解决方法 Devel::Peek 模块非常方便地获取有关变量的各种信息。您可以使用它的一个事情是转储对子例程的引用,并获取其来自的glob的名称: $ perl -MDeve
我有一个调用函数的代码。但是我不知道这个功能所属的模块。我需要它来修改这个功能。
我该怎么检查? 解决方法Devel::Peek 模块非常方便地获取有关变量的各种信息。您可以使用它的一个事情是转储对子例程的引用,并获取其来自的glob的名称:
$ perl -MDevel::Peek -MList::Util=first -e'Dump(&;first)' SV = IV(0x1094e20) at 0x1094e28 REFCNT = 1 FLAGS = (TEMP,ROK) RV = 0x11183b0 SV = PVCV(0x10ff1f0) at 0x11183b0 REFCNT = 3 FLAGS = (POK,pPOK) PROTOTYPE = "&@" COMP_STASH = 0x0 XSUB = 0x7f7ecbdc61b0 XSUBANY = 0 GVGV::GV = 0x11183c8 "List::Util" :: "first" FILE = "ListUtil.c" DEPTH = 0 FLAGS = 0x800 OUTSIDE_SEQ = 0 PADLIST = 0x0 OUTSIDE = 0x0 (null) GVGV :: GV部分在这里是重要的一点。 一个替代解决方案是Sub :: Identify,它真的只给你提供给你的代码引用的名字。然而,知道Devel :: Peek在许多其他情况下也很方便,所以我首先提到。 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |