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!
Save all the BEGIN blocks. Normally only BEGIN blocks that require other files (ex. use Foo;) are saved.
require
use Foo;
prepend a use ByteLoader VERSION; line to the produced bytecode.
use ByteLoader VERSION;
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 ..
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.
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.
To install Env, copy and paste the appropriate command in to your terminal.
cpanm
cpanm Env
CPAN shell
perl -MCPAN -e shell install Env
For more information on module installation, please visit the detailed CPAN module installation guide.