New feature added: the syntax for glob expressions has been extended to
specify a type checking function for pattern variables. Now when a
pattern variable matches, if the pattern variable is qualified with a
type checking function, the type checking function is called with the
portion of the input that was matched to the variable, and the type
checking function can backtrack, or can return a modified value. The new
syntax for a qualified pattern variable is "$VariableName::Qualifier"
for variable-length pattern, and "$VariableName::Qualifier?" for
single-item patterm variables. The "::Qualifier" is optional, so it is
backwards compatible with the previous syntax.