Perl 有没有办法确定哪些杂注处于活动状态?

Perl 有没有办法确定哪些杂注处于活动状态?,perl,pragma,Perl,Pragma,我想知道是否有办法确定在特定范围内哪些pragma是活动的 建议使用%^H,但在以下一行中似乎没有任何用处: $ perl -e 'use strict; use warnings; use utf8; use Data::Printer; p %^H' {} 我问这个问题,因为我花了很长时间才弄明白由Mojolicious::Lite加载的隐式utf8pragma造成了麻烦,我的Regexp::Grammars测试未能捕获,我希望有更好的方法来解决这些问题。%^H用于创建自己的pragma严

我想知道是否有办法确定在特定范围内哪些pragma是活动的

建议使用
%^H
,但在以下一行中似乎没有任何用处:

$ perl -e 'use strict; use warnings; use utf8; use Data::Printer; p %^H'
{}

我问这个问题,因为我花了很长时间才弄明白由
Mojolicious::Lite
加载的隐式
utf8
pragma造成了麻烦,我的
Regexp::Grammars
测试未能捕获,我希望有更好的方法来解决这些问题。

%^H
用于创建自己的pragma<代码>严格、
警告
utf8
中的所有设置位

但是对
$^H
%^H
的更改都会在正在执行的开始块结束时恢复。因此,您需要使用在运行时访问它们的值

$perl-e'
使用数据打印机;
子f{
核心::说sprintf“%X”,调用方(0))[8];
p%{(调用方(0))[10]/{};
}
{
严格使用;
使用警告;
使用utf8;
f();
}
{
f();
}
'
8007E2
{}
0
{}