NAME:

Package: Macro


SYNOPSIS:

use lib::Macro;


DIRECTORY/FILE:

The file Macro.pm is located in the subdirectory './lib'


DESCRIPTION:

This package contains all function that are dealing with macros.


STATUS:

Coding: ``open end''-package

Documentation: up-do-date


FUNCTIONS:


execute

$return_value = Macro::execute($macro_name, $ref_form, $ref_args, $oneliner_code);

This function executes the given macro and returns a scalar value. You will have to put a return-statement into the macros code that returns the desired value. If a macro is used inside of other macros and has to return an array or a hash, you will have to return these by reference and derefence them in the calling macro by using '@{$return_value}' or '%{$scalar_value}'.

Parameters:

(+) $macro_name: The name of the macro to execute

(+) $ref_form: A reference to the calling orm object

(+) $ref_args: A reference to an hash holding the arguments that are passed to the macro

(+) $oneliner_code: If maco was a onliner (not stored in an extra block, syntax ``%ONELINER::...%'', only the code between ``{'' and ``}'' get's executed. Is undef or '' if a normal macro gets called by name.


KNOWN BUGS:


STILL MISSING: