That
limit includes those multicharacter names internally defined by sendmail,?? and those
declared for class macros. There can be, at most, 96 multicharacter macro names. If
you try to declare a 97th name, the following error will print and that definition will
be ignored:
Macro/class {name}: too many long names
21.5 Macro Expansion: $ and $&
The value of a macro can be used by putting a $ character in front of the macro??™s
name. For example, consider the following definition:
DXtext
Here, the macro named X is given text as its value.
If you later prefix a macro name witha $ character, you can use that value. This is
called expanding a macro:
$X
Here, the expression $X tells sendmail to use the value stored in X (the text) rather
than its name (X).
For multicharacter names, the process is the same, but the name is surrounded with
curly braces:
D{Xxx}text ?†? declare {Xxx}
${Xxx} ?†? use {Xxx}
* Prior to V8.10, the maximum length was hardcoded at 20 characters.
?? One for V8.7 and many for V8.8 and later.
This is the Title of the Book, eMatter Edition
Copyright ?© 2007 O??™Reilly & Associates, Inc. All rights reserved.
792 | Chapter 21: The D (Define a Macro) Configuration Command
21.5.1 Macro Expansion Is Recursive
When text contains other macros, those other macros are also expanded. This process
is recursive and continues until all macros have been expanded.
Pages:
1367
1368
1369
1370
1371
1372
1373
1374
1375
1376
1377
1378
1379
1380
1381
1382
1383
1384
1385
1386
1387
1388
1389
1390
1391