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