此函数会导致立即核心转储。另请参阅 perlrun 中的 -u 命令行开关,它执行相同操作。主要目的是为了让你可以使用 undump 程序(未提供)将你的核心转储转换为可执行二进制文件,在程序开始时初始化所有变量后。当新的二进制文件执行时,它将首先执行一个 goto LABEL
(具有 goto
所遭受的所有限制)。可以将其视为一个带有中间核心转储和转生的 goto。如果省略 LABEL
,则从顶部重新启动程序。dump EXPR
形式(从 Perl 5.18.0 开始可用)允许在运行时计算名称,在其他方面与 dump LABEL
相同。
警告:在转储时打开的任何文件在程序转生时将不再打开,这可能会导致 Perl 出现混淆。
此函数现在基本上已过时,主要是因为将核心文件转换为可执行文件非常困难。从 Perl 5.30 开始,必须将其调用为 CORE::dump()
。
与大多数命名运算符不同,它具有与赋值相同的优先级。它也不受看起来像函数规则的约束,因此 dump ("foo")."bar"
将导致 "bar" 成为 dump
的参数的一部分。
可移植性问题:"perlport 中的 dump".