Provided by: interchange_5.7.7-2_amd64
Vend::Interpolate -- Interchange tag interpolation routines
(no external use)
The Vend::Interpolate contains the majority of the Interchange Tag Language implementation rouines. Historically, it contained the entire tag language implementation for MiniVend, accounting for its name. It contains most of the handler routines pointed to by Vend::Parse, which accepts the parsing output of Vend::Parser. (Vend::Parser was originally based on HTML::Parser 1.x). There are two interpolative parsers in Vend::Interpolate, iterate_array_list() and iterate_hash_list() -- these routines parse the lists used in the widely employed [loop ..], [search-region ...], [item-list], and [query ..] ITL tag constructs. This module makes heavy use of precompiled regexes. You will notice variables being used in the regular expression constructs. For example, $All is a a synonym for "(?s:.)*", $Some is equivalent to "(?s:.)*?", etc. This is not only for clarity of the regular expression, but for speed.