You are using a browser which doesn't fully support Cascading Style Sheets. This site will look much better in a browser that supports web standards, but its content is accessible to any browser or Internet device.
Active Contents
PerlPoint sources, as we know of till now, are static in nature. Everything is written down in the sources and known at "writing time". But PerlPoint has dynamic parts as well, meaning that Perl code is invoked to evaluate conditions or build sources on the fly. This is known as "Active Contents".
As evaluating (user) code is potentially dangerous, Active Contents is disabled by default. If you are sure you can trust the sources, it can be switched on by option
-active
:
perlpoint -active source.pp
But even then PerlPoint behaves defensive and runs the code snippets in a safe environment (by
Safe
). This environment denies all operations that might corrupt your system and is configured by option
-safe
: if you are in need of more operations, you can allow them by adding a
-safe
option to your call. The arguments of
-safe
are opcodes as documented in Perls
Opcode
manpage.
perlpoint -active -safe sort -safe :browse source.pp
It might take time to fine tune this compartment, but remember it's the safest way to run code from external sources. If for any reason you cannot get the code to run, or if you are absolutely sure you can trust the author of your PerlPoint sources, you can declare everything as safe by using the special keyword
ALL
:
perlpoint -active -safe ALL source.pp
This way the code is run via
eval
.
Whether one uses the
-safe ALL
or not, all Active Contents shares the
main::
namespace. (Without
-safe ALL
, this is not the real
main::
, but the embedded Perl code will see no difference.) This especially means that all snippets can share global variables, function definitions etc. It also means that the redefinition of anything in the namespace overwrites the last recent declaration.
Active Contents includes