dump dump LABEL dump
这个函数导致一次立即的核心倾倒。它的主要用途是你可以用 undump 程序(还没提供)在你的程序开头刚刚完成所有变量初始化之后,把你倾倒的核心转换成一个可执行文件。而当这个新的二进制文件执行的时候,它将以执行一个 goto LABEL(受所有 goto 自己的限制)开始。把它想象成一个在重生和核心倾倒之间的一个 goto。如果省略了 LABEL,那么程序从顶部重新开始。警告:任何在倾倒时已经打开的文件在该程序重生时将不再打开,这有可能导致 Perl 这边的混乱。又见第十九章,命令行接口,里的 -u 命令行选项。
现在,这个函数基本上已经过时了,部分原因是想在一般情况下把核心文件转换成可执行文件是非常困难的,还有是因为各种生成可移植的字节码和可编译的 C 代码的编译器后端逐渐超越了它。
如果你试图通过使用 dump 来加快你的程序的速度,那么请先检查一下在第二十四章,普通实践,里的关于效率的讨论,以及第十八章,编译,里的 Perl 本机代码生成器的讨论。你可能还应该考虑自动装载和自装载,它们至少能让你的程序看起来快一些。