Использование директив обработки условий
<!--#config timefmt="%w" -->
<p>
Сегодня
<!--#if expr="$DATE_LOCAL=0" -->
воскресенье
<!--#elif expr="$DATE_LOCAL=1" -->
понедельник
<!--#elif expr="$DATE_LOCAL=2" -->
вторник
<!--#elif expr="$DATE_LOCAL=3" -->
среда
<!--#elif expr="$DATE_LOCAL=4" -->
четверг
<!--#elif expr="$DATE_LOCAL=5" -->
пятница
<!--#elif expr="$DATE_LOCAL=6" -->
суббота
<!--#endif -->
</p>
Динамически генерируемая веб-страница, описанная в вышеприведенном листинге, определяет, какой сегодня день недели и выводит его название по-русски.
Работа этого примера основана на сравнении значения переменной окружения DATE_LOCAL с литералами 0 — 6. Предварительно используется директива config, переопределяя формат даты и времени так, чтобы переменная окружения DATE_LOCAL содержала в себе только порядковый номер дня недели.
Составные части выражений можно группировать при помощи скобок, что позволяет изменять приоритеты выполнения операций.
В качестве правых операндов в ряде операций сравнения могут выступать регулярные выражения. Подробно регулярные выражения будут обсуждаться в главе 4 при рассмотрении языка Perl, пока же ограничимся несколькими примерами.
Выражение
$day=/недель/
проверяет, содержит ли значение переменной day символьную последовательность, заключенную между символами косой черты, в качестве подстроки. Подходящим под это условие является, в частности, значение понедельник.
Знак ^ соответствует началу строки, знак $ — концу строки. Так, выражение
$day=/^по/
проверяет, начинается ли значение переменной day на по, а выражение
$day=/ник$/
используется для проверки, оканчивается ли значение переменной day на ник.
Рассмотрим более сложный практический пример, использующий директивы обработки условий.