B::Bytecode - Perl compiler's bytecode backend |
B::Bytecode - Perl compiler's bytecode backend
perl -MO=Bytecode[,-H][,-oscript.plc] script.pl
Compiles a Perl script into a bytecode format that could be loaded later by the ByteLoader module and executed as a regular Perl script.
$ perl -MO=Bytecode,-H,-ohi -e 'print "hi!\n"' $ perl hi hi!
require
other files (ex. use Foo;
) are saved.
use ByteLoader VERSION;
line to the produced bytecode.
# line ..
directives and for <goto LABEL>
expressions. When gotos are found keep the syntax tree.
BEGIN { goto A: while 1; A: }
won't even compile.
?...?
and reset
do not work as expected.
variables in (?{ ... })
constructs are not properly scoped.
scripts that use source filters will fail miserably.
There are also undocumented bugs and options.
THIS CODE IS HIGHLY EXPERIMENTAL. USE AT YOUR OWN RISK.
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.
B::Bytecode - Perl compiler's bytecode backend |