我正在努力更好地理解异常的逻辑和流程。所以我得说明,我真的感到缺乏理解Perl如何解释和运行程序,涉及哪个阶段以及每个阶段会发生什么。
例如,我想了解,什么时候绑定STD * IO并在发布时,$ SIG {*}事情发生了什么,它们如何依赖于例外,程序如何死亡等等。我想希望能更好地了解内部力学。
我正在寻找链接或书籍。我更喜欢一些也有视觉图表的材料,但这不是强制性的。我希望看到整个过程的“全局”,如果我认为有必要,我已经有可能进一步挖掘。
我在Programming Perl中找到第18章给出了编译阶段的概述,我尝试将其解决,但我也很欣赏其他好的资源。
答案 0 :(得分:3)
一些替代来源(不是很多):
那些可能更专注于您正在寻找的东西。但我不确定它们中是否有任何明确说明解释器的运行时执行顺序。第一个是更好的“我想用这个东西”这本书;第二个可能是很好的介绍性参考。
据我所知,您提出的一些问题并没有明确记录 - I / O问题是我无法想到的特别好的问题。在Try::Tiny的文档中很好地记录了异常处理,这是我们用于异常的内容。信号处理很混乱,但perlipc很好地记录了它。使用线程,您可能会遇到不安全的信号 - 我通常会避免线程支持多个进程,除非我必须有共享内存。
答案 1 :(得分:0)
您可以从 perldoc 程序访问这些主题开始:
Internals and C Language Interface
perlembed Perl ways to embed perl in your C or C++ application
perldebguts Perl debugging guts and tips
perlxstut Perl XS tutorial
perlxs Perl XS application programming interface
perlxstypemap Perl XS C/Perl type conversion tools
perlclib Internal replacements for standard C library functions
perlguts Perl internal functions for those doing extensions
perlcall Perl calling conventions from C
perlmroapi Perl method resolution plugin interface
perlreapi Perl regular expression plugin interface
perlreguts Perl regular expression engine internals
perlapi Perl API listing (autogenerated)
perlintern Perl internal functions (autogenerated)
perliol C API for Perl's implementation of IO in Layers
perlapio Perl internal IO abstraction interface
perlhack Perl hackers guide
perlsource Guide to the Perl source tree
perlinterp Overview of the Perl interpreter source and how it works
perlhacktut Walk through the creation of a simple C code patch
perlhacktips Tips for Perl core C code hacking
perlpolicy Perl development policies
perlgit Using git with the Perl repository