- dump LABEL
- dump EXPR
- dump
-
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. IfLABEL
is omitted, restarts the program from the top. Thedump EXPR
form, available starting in Perl 5.18.0, allows a name to be computed at run time, being otherwise identical todump LABEL
.この関数は即座にコアダンプを行ないます。 同様のことを行う <perlrun|perlrun/-u> の -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. As of Perl 5.30, it must be invoked as
CORE::dump()
.この関数は大幅に時代遅れのものです; 主な理由としては、コアファイルを 実行形式に変換するのが非常に困難であることです。 Perl 5.30 から、これは
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。