dump LABEL
dump EXPR

This function causes an immediate core dump. See also the -u command-line switch in perlrun, which does the same thing. Primarily this is so that you can use the undump program (not supplied) to turn your core dump into an executable binary after having initialized all your variables at the beginning of the program. When the new binary is executed it will begin by executing a goto LABEL (with all the restrictions that goto suffers). Think of it as a goto with an intervening core dump and reincarnation. If LABEL is omitted, restarts the program from the top. The dump EXPR form, available starting in Perl 5.18.0, allows a name to be computed at run time, being otherwise identical to dump LABEL.

この関数は即座にコアダンプを行ないます。 同様のことを行う perlrun-u オプションも参照してください。 プログラムの先頭で、 すべての変数を初期化したあとのコアダンプを undump プログラム(提供していません)を使って実行ファイルに返ることができます。 この新しいバイナリが実行されると、goto LABEL から始めます (goto に関する制限はすべて適用されます)。 コアダンプをはさんで再生する goto と考えてください。 LABEL が省略されると、プログラムを先頭から再開します。 Perl 5.18.0 から利用可能な dump EXPR 形式では、実行時に計算される 名前が使えます; その他は dump LABEL と同一です。

WARNING: Any files opened at the time of the dump will not be open any more when the program is reincarnated, with possible resulting confusion by Perl.

警告: dump 時点でオープンされていたファイルは、プログラムが 再生されたときには、もはやオープンされていません; Perl を混乱させる可能性が あります。

This function is now largely obsolete, mostly because it's very hard to convert a core file into an executable. That's why you should now invoke it as CORE::dump(), if you don't want to be warned against a possible typo.

この関数は大幅に時代遅れのものです; 主な理由としては、コアファイルを 実行形式に変換するのが非常に困難であることです。 これが、今ではタイプミスの可能性を警告されたくないなら CORE::dump() として起動するべき理由です。

Unlike most named operators, this has the same precedence as assignment. It is also exempt from the looks-like-a-function rule, so dump ("foo")."bar" will cause "bar" to be part of the argument to dump.

ほとんどの名前付き演算子と異なり、これは代入と同じ優先順位を持ちます。 また、関数のように見えるものの規則からも免れるので、dump ("foo")."bar" と すると "bar" は dump への引数の一部になります。

Portability issues: "dump" in perlport.

移植性の問題: "dump" in perlport