perl - Perl 有运行时流程图吗?

标签 perl runtime

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

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

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

我在 Programming Perl 中找到了第 18 章概述了编译阶段,我尝试通过它来工作,但我也欣赏其他好的资源。

最佳答案

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

  • 曼宁的Extending and Embedding Perl ,这是 Perl 在源代码之外的内部的首选引用
  • chapter on the Perl internals在高级 Perl 编程中,这可能正是您想要的
  • Simon Cozens 的 Perl internals FAQ

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

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

    关于perl - Perl 有运行时流程图吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13582265/

    相关文章:

    perl - 如何反转 Perl 中无符号字节的位?

    perl - 在 MooseX::Declare 中创建 BUILD 方法的正确方法是什么?

    javascript - Django:在运行时将 JS 添加到表单

    python - 为什么这个具有十倍值的 numpy 数组需要指数级更长的时间来随机生成?

    perl - 如何使用 Perl 从 LDAP 中检索所有组

    引擎盖下的 perl 64 位整数

    visual-studio - 如何设置Visual Studio 2008以在Perl中编程?

    sql-server - 在 SQL Server 数据库中存储时间间隔的最佳方法是什么

    c# - (C#) 在运行时编译类并从原始代码调用方法

    ruby - 如何修复(RubyInstaller::Runtime::DllDirectory::WinApiError) in ruby on windows?