I was reading an article about Perl 6, I forget which one, and it happened to mention that code can be interpolated inside double quoted strings. That's one thing, my concern is with the selected syntax.
say "foo { 1+1 }"; # "foo 2" The {...} construct seems far too common one in normal text to be given special meaning. One data point is to do a google code search for "{ in Perl 5. It comes up with quite a lot. http://www.google.com/codesearch?hl=en&lr=&q=%5C%22%5C%7B+lang%3Aperl&btnG=Search Another concern is embedded YAML. $yaml = "{ $key: 42 }"; # syntax error in Perl 6 Finally, it chokes on unbalanced braces adding another trap for users. I'm concerned this will lead to a lot of unsightly backwhacking or having to be more careful about what type of string you're using. What about ${} and @{} instead? ${} would execute in scalar context and @{} in list. They're just cleaned up versions of the successful, but ugly, Perl 5 idioms ${\(...)} and @{[...]} idioms. They make use of an existing interpolated character so there's no additional load on the programmer. ${} and @{} already have interpolated meanings in Perl 5 but not in Perl 6. -- ...they shared one last kiss that left a bitter yet sweet taste in her mouth--kind of like throwing up after eating a junior mint. -- Dishonorable Mention, 2005 Bulwer-Lytton Fiction Contest by Tami Farmer