![]() |
1
1
我尽力了,甚至试着问
下面的技术将检测
代码如下:
|
![]() |
2
4
摘要 在这一点上,经过相当广泛的研究,我坚定地认为,在一个名为“X”的符号表条目被声明但没有被赋值的情况下,它是 glob中的哪些引用类型实际上是在使用Devel::stuff的深度探测时声明的。
原始答案 好吧,区分标量和子例程的非常有限的解决方案是使用UNIVERSAL::can:
请注意
我尝试了brian d foy在“精通perl”第8章中的方法,但不知怎么的,它无法用于标量、哈希或数组;但正如draegtun在下面提到的,它适用于子程序或变量 已经分配给 :
|
![]() |
3
3
旧的perl(5.10之前的版本)在标量槽中总是有一些东西。 在较新的perl上,当您 试着做*FOO{SCALAR}。 不过,您可以使用B内省模块检查标量插槽:
|
![]() |
4
1
不幸的是,相同的方法仅适用于已赋值的包变量:
/I3az公司/ |
![]() |
5
1
Devel::Peek似乎能够区分标量插槽中已使用和未使用的内容:
兴趣线在下面
|