Provided by: manpages-zh_1.5.2-1_all bug

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 = <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) <sunny65535@263.net>