即座にコアダンプを生成する
dump
は即座にコアダンプを生成します。
Perl スクリプトを実行する際の
-u
コマンドラインスイッチと同じです。
これによって、プログラム開始時点ですべての変数を初期化したあと、コアダンプを実行可能なバイナリーする
undump プログラム (未提供) を使うことができるようにすることができます。
新たなバイナリーが実行されると、まず goto LABEL
が実行されます
(goto
に課せられる制約はすべて伴います)。
つまり、コアダンプの介入と再生を伴う goto として考えてください。
LABEL が省略されたら、そのプログラムを最初から再開します。
dump EXPR
の形式は Perl 5.18.0 以降で利用できますが、
ラベルの名前を実行時に算出できます。実行時でなければ dump LABEL
と同じです。
注意: ダンプの時点で開かれていたファイルは、プログラムが再生するとき、もう開かれていません。
この関数は今ではもうほとんど使われることがなくなりました。というのも、コアファイルを実行可能に変換するのが非常に難しいからです。
Perl 5.30 からは CORE::dump()
として呼び出す必要があります。
多くの名前付き演算子とは違い、これは代入と同じ優先順位を持ちます。
さらに、関数のように見せかける規則から免除されています。
そのため、dump ("foo")."bar"
を実行すると、
"bar" は dump
への引数の一部になってしまいます。
なお、dump
は Windows では利用できません。