/Perl 5.20


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 .

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.

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.

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.

Portability issues: dump in perlport.

© 1993–2016 Larry Wall and others
Licensed under the GNU General Public License version 1 or later, or the Artistic License.
The Perl logo is a trademark of the Perl Foundation.