OPTIONAL
SYNOPSIS
        string process_string(string str)

BESCHREIBUNG
        Durchsucht den String <str> nach "value by function call", das
        heisst nach @@, gefolgt von einem impliziten Funktionsaufruf. Siehe
        auch "value_by_function_call" im Prinzipien-Teil der Enzy.

        Der Wert sollte eine String in dieser Form enthalten:
        @@function[:filename][|arg|arg]@@

        <function> muss einen String zurueckliefern, sonst wird der zu
        verarbeitende String unveraendert zurueck geliefert.

        process_string() fuehrt keine Rekursion ueber zurueck gelieferte
        Werte durch: wenn eine Funktion wiederum eine implizite Funktion
        zurueckliefert, wird diese zweite Funktion nicht mehr verarbeitet.

        Sowohl <filename> wie auch die Argumente <arg> sind optional.

BEISPIELE
        string foo(string str) {
            return "ab"+str+"ef";
        }

        void func() {
            write(process_string("@@foo|cd@@"+"\n");
        }

        func() gibt jetzt an den Benutzer den String "abcdef" aus.

FEHLER
        Die Verwendung von process_string() kann massive Sicherheitsprobleme
        verursachen.

GESCHICHTE
        Wegen der Sicherheitsprobleme ist process_string() seit 3.2.1@34
        optional.

SIEHE AUCH
        notify_fail(E), closures(LPC), get_bb_uid(M)

