The value should contain a string like this @@function[:filename][|arg|arg]@@
function must return a string or else the string which should be processed will be returned unchanged.
Note that process_string() does not recurse over returned replacement values. If a function returns another function description, that description will not be replaced.
Note that both filename and args are optional.
string foo(string str) {
return "ab"+str+"ef";
}
void func() {
write(process_string("@@foo|cd@@")+"\n");
}
The function func() will print out the string "abcdef".