I don't know anything about Perl 6 (or much about earlier versions for that matter). Can someone explain how close it has gotten to Lisp? What macro facilities does it have? Can you munge the syntax tree after code is parsed?
Do you think that Lisp style languages with sexps are the end in language design, or do you think that something better will be invented? (or has been invented)
I would never say never, but I haven't been able to think of a better way to represent programs than s-expressions despite many years of thinking about the problem.
I wouldn't be surprised if sexprs are the end in the sense that the integers are. I.e. you might go on to discover new things but they'd ultimately reduce to sexprs.
Is there a textual representation for ASTs? Could you write programs directly in ASTs?
To your question: yes, the Perl syntax (the macro system supports quasiquotation). This is exactly the same as in Lisp. The difference is that Lisp syntax looks more like how the data structures are represented in memory. I think you can also build up your programs with data constructors (i.e. like doing (list 'lambda (list 'x) (list '+ 'x 1)) in Lisp). But note that I haven't used Perl6, this is information from the web.
You can add syntax rules to Perl's parser. And you can add handlers for when a new syntax rule is triggered. As a result the handler either returns a string or a syntax tree.
Don't know how Perl is doing it and to what extent (only saw some samples), but I've seen it implemented in Boo (http://boo.codehaus.org/) ... where you have access to the entire compiler's pipeline.