unixdev.net


Switch to SpeakEasy.net DSL

The Modular Manual Browser

Home Page
Manual: (OpenBSD-3.6)
Page:
Section:
Apropos / Subsearch:
optional field



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
       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 pro-
           duced 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 <mbeat-
       tieATsable.uk> and modified by Benjamin Stuhl
       <sho_piAThotmail.com>.

       Rewritten by Enache Adrian <enacheATrdslink.ro>, 2003 a.d.



perl v5.8.5                 2002-11-06                          1