PERLCOMPILE(7) Perl Programmers Reference Guide PERLCOMPILE(7) NAME perlcompile - Perl DESCRIPTION Perl 5.005Perl B("B")PerlC "B" , ""CPerl "B" PerlC "B" """"""Perl"""" Perl Layout "B::" O "B::C")perlcc 010010Bug B::Bytecode BtyeLoader5 B::C C6Tk B::CC C Perl - C switchPerlperl perl c int float 5 ( Tk ). B::Lint 6 B::Deparse Perl8 B::Xref 8bugs Using The Back Ends O -c Perl myperlprogram syntax OK The Cross Referencing Back End B::Xrefpod2manPerl Subroutine clear_noremap Package (lexical) $ready_to_print i1069, 1079 Package main $& 1086 $. 1086 $0 1086 $1 1087 $2 1085, 1085 $3 1085, 1085 $ARGV 1086 %HTML_Escapes 1085, 1085 "clear_noremap" $ready_to_print my() () 1069( introduced my() )1079main package $& 1086, i (my()) & s r myperlprogram report $ perl -MO=Xref,-oreport myperlprogram The Decompiling Back End Perl $ perl -MO=Deparse myperlprogram Perl $ perl -MO=Deparse -e '$op=shift||die "usage: $0 code [...]";chomp(@ARGV=<>)unless@ARGV; for(@ARGV){$was=$_;eval$op; die$@ if$@; rename$was,$_ unless$was eq $_}' -e syntax OK $op = shift @ARGV || die("usage: $0 code [...]"); chomp(@ARGV = ) unless @ARGV; foreach $_ (@ARGV) { $was = $_; eval $op; die $@ if $@; rename $was, $_ unless $was eq $_; } 42 $ perl -MO=Deparse,-si2 myperlprogram -p $ perl -MO=Deparse -e 'print "Hello, world\n"' -e syntax OK print "Hello, world\n"; $ perl -MO=Deparse,-p -e 'print "Hello, world\n"' -e syntax OK print("Hello, world\n"); B::Deparse Lint lint B::Lint $ perl -MO=Lint myperlprogram $ perl -MO=Lint,-context,-undefined-subs myperlprogram B::Lint The Simple C Back End C PerlCCCPerlPerl "perlcc" perlcc myperlprogram.pl The Bytecode Back End ByteLoader Perl "perlcc" "-B" : perlcc -B myperlprogram.pl PerlPerl B::Bytecode The Optimized C Back End C CPerl()CCPerlPerl eval(), "s///e", "require" "perlcc" -O Perl".pl" ".p" perlcc -O myperlprogram.pl Perl ".pm" perlcc -O Myperlmodule.pm perlcc B::CC. Module List for the Compiler Suite B introspectiveJava"reflective"PerlB O $ perl -MO=Deparse myperlprogram Perl "use O 'Deparse'" B::Asmdata B::Assembler B::Assembler B::Bytecode B::BytecodeB::Asmdata B::Assembler assemble B::Bblock B::CC "" B::Bytecode "The Bytecode Back End" B::C CC "The Simple C Back End" B::CC C B::C C B::CC C B::CC C "The Optimized C Back End" B::Concise () Perl B::Terse B::Debug () Perl B::Debug PerlPerl B::Deparse Perl "The Decompiling Back End" B::Disassembler disassemble B::Lint scalar context "scalar(@array)" Lint "The Lint Back End" B::Showlex my() my() myperlprogram mysub() $ perl -MO=Showlex,mysub myperlprogram my() myperlprogram $ perl -MO=Showlex myperlprogram [BROKEN] B::Stackobj B::CC B::Stash perlcc perlccB::Stash B::CC B::* O C B::Terse B::Debug"print "Hello, world."" B::Debug 96 B::Terse6 Perl B::Xref "The Cross Referencing Back End" KNOWN PROBLEMS C C DirHandlegotogoto &sub is OK "goto LABEL" C BEGIN{} BEGIN{} Perl INIT{} BEGIN{}, (), INIT{}, , END{} AUTHOR Nathan Torkington (perl5-porters@perl.org.) (sunny65535) man man https://github.com/man-pages-zh/manpages- zh perl v5.8.3 2003-11-25 PERLCOMPILE(7)