It's perfectly clear in that sentence who is doing what to whom. Though I guess if you allow that, you could count Perl quotes as a form of case marker. But as with most computer languages, prepositional notions are usually expressed by position within an argument list. A topicalizer simply introduces the subject you're intending to talk about. In Perl, there are various things that work as topicalizers.
Discourse structure is how an utterance longer than a sentence is put together.
Different languages and cultures have different rules for how to tell a joke or a story, for instance, or how to write a book about Perl. Some computer languages have rather fixed rules for larger structures. Perl tends to be pretty free about what order you put your statements, except that it's rather Aristotelian in requiring you to provide an explicit beginning and end for larger structures, using curlies. No theoretical axes to grind Natural languages are used by people who for the most part don't give a rip how elegant the design of their language is. Except for a few writers striving to make a point in the most efficient way possible, ordinary folks scatter all sorts of redundancy throughout their communication to make sure of being understood.