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!
prepend a use ByteLoader VERSION; line to the produced bytecode.
use ByteLoader VERSION;
Save all the BEGIN blocks. Normally only BEGIN blocks that require other files (ex. use Foo;) are saved.
require
use Foo;
keep the syntax tree - it is stripped by default.
put the bytecode in <outfile> instead of dumping it to STDOUT.
scan the script for # line .. directives and for <goto LABEL> expressions. When gotos are found keep the syntax tree.
# line ..
Output assembler source rather than piping it through the assembler and outputting bytecode. Without -q the assembler source is commented.
Be quiet.
Set debugging flag for more verbose STDERR output.
M for Magic and Matches.
BEGIN { goto A: while 1; A: } won't even compile.
BEGIN { goto A: while 1; A: }
?...? and reset do not work as expected.
?...?
reset
variables in (?{ ... }) constructs are not properly scoped.
(?{ ... })
scripts that use source filters will fail miserably.
5.10 PMOP and REGEXP ops do not yet work. Various 5.10 and 5.11 crashes.
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.
Enhanced by Reini Urban <rurban@cpan.org>, 2008
To install B::C, copy and paste the appropriate command in to your terminal.
cpanm
cpanm B::C
CPAN shell
perl -MCPAN -e shell install B::C
For more information on module installation, please visit the detailed CPAN module installation guide.