The entire expression, starting with the $? and ending
with the $., yields a single value, which can contain multiple tokens.
The following, for example, includes the configuration-file version in the SMTP
greeting message but does so only if that version (in $Z; see ?§21.9.108 on page 853) is
defined:
O SmtpGreetingMessage=$j Sendmail ($v/$?Z$Z$|generic$.) ready at $b
?†‘
note
Here, the parenthetical version information is expressed one way if $Z has a value
(such as 1.4):
($v/$Z)
but is expressed differently if $Z lacks a value:
($v/generic)
The else part ($|) of this conditional expression is optional. If it is omitted, the result
is the same as if the text2 were omitted:
$?xtext1$|$.
$?xtext1$.
This is the Title of the Book, eMatter Edition
Copyright ?© 2007 O??™Reilly & Associates, Inc. All rights reserved.
21.6 Macro Conditionals: $?, $|, and $. | 795
Both of the preceding yield the same result. If x has a value, text1 becomes the value
of the entire expression. If x lacks a value, the entire expression lacks a value (produces
no tokens).
Note that it is not advisable to use the $? conditional expression in rules. Sucha use
can have other than the intended effect because macro conditionals are expanded
when the configuration file is read.
21.6.1 Conditionals Can Nest
V8 sendmail allows conditionals to nest.
Pages:
1372
1373
1374
1375
1376
1377
1378
1379
1380
1381
1382
1383
1384
1385
1386
1387
1388
1389
1390
1391
1392
1393
1394
1395
1396