SYNOPSIS:
        void write(mixed msg)

DESCRIPTION:
        Write out something to the current player. What exactly will
        be printed in the end depends of the type of msg.
        Please mind: if there is no current player (this_player()), the
        function will output directly to the driver debug log. Please check
        before!
        
        If it is a string or a number then just prints it out.
        
        If it is an object then the object will be printed in the
        form: "OBJ("+object_name((object)mix)+")"
        
        If it is an array just "<ARRAY>" will be printed.
        
        If the write() function is invoked by a command of an living
        but not interactive object and the given argument is a string
        then the lfun catch_tell() of the living will be invoked with
        the message as argument.

EXAMPLES:
        write("Hello world!\n");
        
        Just print out a string.
        
        write(this_player());
        
        This will print out something like "OBJ(std/player#1234)".
        
        write( ({ "blub" }) );
        
        Will print out "<ARRAY>".
        
SEE ALSO:
        say(E), tell_object(E), tell_room(E), shout(E), catch_tell(L)
