The perl statement executes a Perl script (program).


This statement has four parameters:

source – Perl script (source code). Note: It is very convenient to use “pipe” delimiters for this parameter, for example |||script|||. This eliminates needing to worry about the delimiters that occur in the script itself.

result – Name of field or variable in which result of the script will be placed. This result is any output sent to the standard console ouptut. If this parameter is not supplied the result will be placed in the global variable ScriptResult.

folder – Folder to execute perl script in (default to current database folder)

timeout – Maximum amount of time the script will be allowed to run (in seconds). If this option is not specified you can set the default using the scripttimeout statement. If this default has never been set the default is 60 seconds.


This statement executes a Perl script (program). This rather silly example prints out the current time.

local output
perl |||print $«A»$."\n".$«timepattern(now(),"hh:mm:ss am/pm")»$ |||,output
message output

WARNING: Apple has stopped providing Perl with macOS. If you are using a recent version of macOS, you will have to install Perl yourself. See Scripting Language Configuration to learn how to do this.

Panorama formulas can be embedded in the script using special tags.

To embed a Panorama formula as text, use


The formulas are calculated in advance, then embedded into the source code as constants. For example, the formula $«2*3»$ will be embedded into the program as 6. The formula $«upper("hello world")»$ will be embedded as "HELLO WORLD".

In the case of text formulas any special characters will be encoded as necessary for a proper Perl constant. For example the formula $«{"}»$ will be embedded as """.

To embed a Panorama formula with no quotes or translation use


The result of the formula will be embedded into the Perl source code exactly “as-is”.

See Also


10.0No ChangeCarried over from Panorama 6.0.