8

我试图更好地理解异常的逻辑和流程。所以我必须声明,我真的觉得缺乏理解 Perl 如何解释和运行程序、涉及哪些阶段以及每个阶段会发生什么。

例如,我想了解,何时绑定 STD* IO 以及何时释放,$SIG{*} 事物发生了什么,它们如何依赖于 execepions,程序如何死亡等。我想拥有更好地了解内部机制。

我正在寻找链接或书籍。我更喜欢一些包含视觉图表的材料,但这不是强制性的。我想看看整个过程的一些“大图”,如果我觉得有必要,我已经有可能进一步挖掘。

我发现Perl 编程的第 18 章概述了编译阶段,我尝试通过它来完成它,但我也欣赏其他好的资源。

4

2 回答 2

3

一些替代来源(不是很多):

那些可能更专注于您正在寻找的东西。不过,我不确定它们中的任何一个都明确说明了解释器的运行时执行顺序。第一个是更好的“我想用这些东西工作”的书;后两个可能是很好的介绍性参考。

据我所知,您提出的一些问题并没有明确记录——I/O 问题是我想不出的特别好的来源。异常处理在Try::Tiny的文档中有很好的记录,这就是我们用于异常的方法。信号处理很混乱,但是perlipc很好地记录了它。使用线程,您可能会遇到不安全的信号——除非我必须拥有共享内存,否则我通常会避免使用线程来支持多个进程。

于 2012-12-03T02:04:52.333 回答
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
于 2012-11-27T22:43:41.310 回答