Since each primitive is evaluated in its own scope, it is not possible (or even desirable) to pass simple variables between separate primitives. Two means are provided for doing this:
my %_PRIMITIVE_1_ = read_arguments( ... );
{
_PRIMITIVE_1_
}
my %_PRIMITIVE_2_ = read_arguments( ... );
{
_PRIMITIVE_2_
}
This works but has a number of problems:
ORAC-DR -- Programmer's Guide