You are viewing the version of this documentation from Perl 5.8.5. View the latest version

CONTENTS

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

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

AltStyle によって変換されたページ (->オリジナル) /