it may be not easy to understand why i recently introduced this new command.
i'll explain shortly, for those who are interested.
example:
you want to show an information related to the country of your visitor, like the flag.
you need to retrieve the "country" information via an external web service.
Months ago i posted this example
[request]
{.add to log|COUNTRY IS {.cache|#countries|%ip%|{:{.trim|
{.substring|Country: |City|{.load|http://api.hostip.info/get_html.php?ip=%ip%&position=true.}|include=none.}
.}:}/cache.}.}
[start]
{.load|country.cache|var=#countries.}
[quit]
{.save|country.cache|var=#countries.}
Since the web service is slow, we don't want to use it everytime the same IP is worked.
At the time i introduced this new command {.cache.}, working with variables with "table" format, that easily solves the problem, by loading the value only if it was not already done.
It's ok, but it's a pity that {.cache.} works only on table variables, while it may be useful with simple variables.
Truth is, in this language you don't necessarily have to use "tables" to have multiple values.
You can have many variables, named #country.for.ip.131.23.51.3
and #country.for.ip.150.4.66.22
etc etc
all of them starting with the same name.
This way, the command "cache" would have worked this way
{.cache|#country.for.ip.%ip%|{: ...web service... :}.}
it's mostly the same, but it's ready to work on single values instead of multiple ones.
that's it, we can create as many variables as we want, without worrying.
this way we can design our scripts/commands to work on simple variables, that's more generic use than tables.
indeed, i mean to change the {.cache.} command in the near future, to work on simple variables instead of tables.
in the same script i suggested to load/save all collected values, to make them persistent.
that's where the {.var domain.} command comes to help.
you need tools to work with multiple variables, that have similar names, to know who they are, and what's their value.
Maybe this is not enough for every need, but i will add stuff as i see the need for it.