有没有人知道源中的确切位置和编译阶段use
的定义?我没有看到它寻找CORE::GLOBAL::use
,我不确定如何潜水寻找它。这是一个非常模糊的术语。
答案 0 :(得分:7)
use
语法在解析器(perly.y
)中定义。摘录:
| USE startsub
{ CvSPECIAL_on(PL_compcv); /* It's a BEGIN {} */ }
BAREWORD BAREWORD optlistexpr ';'
{
SvREFCNT_inc_simple_void(PL_compcv);
utilize($1, $2, $4, $5, $6);
parser->parsed_sub = 1;
$$ = NULL;
}
不知道yacc,我不知道那是做什么的。
来自utilize()
的{{1}}函数为Perl_utilize()
。此代码创建一个包含op.c
的BEGIN块。 require
和veop
变量可能包含用于检查版本或导入所请求元素的操作码:
imop
链接到Github镜像上的v5.26.0源代码:
答案 1 :(得分:-1)
它在CORE
。
perl -w -E 'CORE::use Data::Dumper; print Dumper("a")'