TACL Reference Manual
Variables
HP NonStop TACL Reference Manual—429513-018
4-28
DIRECTORY Variables
Data retrieved from a substructure is presented in a space-separated list of standard 
representations appropriate for the types of those items. Spaces are not inserted 
between CHAR items, however. 
These examples are based on the structure defined in Setting or Altering Structured 
Data on page 4-25.
To access a data item, surround the structure and item names in square brackets. For 
example:
== Access elements in a structure
[tacl^files:file(2):name] == yields taclbase
[tacl^files:file(1)] == yields tacl 100
== Access the entire structure structure
[tacl^files] == yields tacl 100 taclbase 101 taclinit 101
== Distribute structure items into variables
#SETMANY prg prgcd lib libcd mac maccd , [tacl^files]
== Copy a substructure to a substructure
#SET tacl^files:file(1) [tacl^files:file(2)] 
To fill one STRUCT with data already present in another structure, use #SETBYTES.
You can use the #SETV built-in function to copy structures (as well as other types). 
The output variable must already exist. After the data has been copied, the original
type and data of the output variable is lost; the variable becomes a structure like the 
input structure and has its own copy of the data.
DIRECTORY Variables
Directory variables allow you to specify a hierarchical organization for variables that 
reside in a segment file; directories can contain directories, which in turn can contain 
other directories. The maximum nesting depth for directories is 16 levels. The root of 
the tree is the home (:) character. TACL supplies the :UTILS directory, which includes 
the :UTILS:TACL directory where all TACL variables reside.
Caution. If one or more of the elementary items consists of or contains spaces, be careful if 
you later access this data with commands or functions that use spaces as delimiters; 
otherwise, TACL might overlook an item.
Caution. Use care when moving data between structures and variables of other types unless 
those variables are used with #SERVER or #REQUESTER or are merely temporary variables 
for copying the data of one structure to another. TACL interprets data differently for STRUCT 
variables than for other types of variables. For example, if you process such data with #DELTA 
while the data is in a variable that is not a structure, #DELTA interprets any bytes holding 
binary zero as line end characters, and reshapes the data into multiple lines when putting it 
back into a variable. In short, do not process structure data outside a structure except to 
perform I/O operations with it.










