MirOS Manual: B::Bytecode(3p)


ext::B::B::BytecoPerlpProgrammers Referencext::B::B::Bytecode(3p)

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 reg-
     ular 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

     +   "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.

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>.

perl v5.8.8                2005-02-05                           1

ext::B::B::BytecoPerlpProgrammers Referencext::B::B::Bytecode(3p)

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

perl v5.8.8                2005-02-05                           2

Generated on 2014-07-04 21:17:45 by $MirOS: src/scripts/roff2htm,v 1.79 2014/02/10 00:36:11 tg Exp $

These manual pages and other documentation are copyrighted by their respective writers; their source is available at our CVSweb, AnonCVS, and other mirrors. The rest is Copyright © 2002‒2014 The MirOS Project, Germany.
This product includes material provided by Thorsten Glaser.

This manual page’s HTML representation is supposed to be valid XHTML/1.1; if not, please send a bug report – diffs preferred.