manpagez: man pages & more
man B::Bytecode(3)
Home | html | info | man
B::Bytecode(3pm)       Perl Programmers Reference Guide       B::Bytecode(3pm)




NAME

       B::Bytecode - Perl compiler's bytecode backend


SYNOPSIS

       perl -MO=Bytecode[,-H][,-oscript.plc] script.pl


DESCRIPTION

       Compiles a Perl script into a bytecode format that could be loaded
       later by the ByteLoader module and executed as a regular Perl script.


EXAMPLE

           $ perl -MO=Bytecode,-H,-ohi -e 'print "hi!\n"'
           $ perl hi
           hi!


OPTIONS

       -b  Save all the BEGIN blocks. Normally only BEGIN blocks that
           "require" other files (ex. "use Foo;") are saved.

       -H  prepend a "use ByteLoader VERSION;" line to the produced bytecode.

       -k  keep the syntax tree - it is stripped by default.

       -ooutfile
           put the bytecode in <outfile> instead of dumping it to STDOUT.

       -s  scan the script for "# line .." directives and for <goto LABEL>
           expressions. When gotos are found keep the syntax tree.


KNOWN BUGS

       o   "BEGIN { goto A: while 1; A: }" won't even compile.

       o   "?...?" and "reset" do not work as expected.

       o   variables in "(?{ ... })" constructs are not properly scoped.

       o   scripts that use source filters will fail miserably.


NOTICE

       There are also undocumented bugs and options.

       THIS CODE IS HIGHLY EXPERIMENTAL. USE AT YOUR OWN RISK.


AUTHORS

       Originally written by Malcolm Beattie <mbeattie@sable.ox.ac.uk> and
       modified by Benjamin Stuhl <sho_pi@hotmail.com>.

       Rewritten by Enache Adrian <enache@rdslink.ro>, 2003 a.d.



perl v5.8.9                       2001-09-21                  B::Bytecode(3pm)

Mac OS X 10.6 - Generated Thu Sep 17 20:10:41 CDT 2009
© manpagez.com 2000-2025
Individual documents may contain additional copyright information.