On Mon, Jan 12, 2009 at 1:08 PM, Larry Wall <[email protected]> wrote:
> On Mon, Jan 12, 2009 at 03:43:47AM -0800, Jon Lang wrote:
> : On Mon, Jan 12, 2009 at 2:15 AM, Carl Mäsak <[email protected]> wrote:
> : > Ovid (>):
> : >> $ perl6 -e 'my $foo = "foo";say "{" ~ $foo ~ "}"'
> : >> ~ foo ~
> : >
> : > Easy solution: only use double quotes when you want to interpolate. :)
> : >
> : > This is not really an option when running 'perl6 -e' under bash, though.
> :
> : $ perl6 -e 'my $foo = "foo";say q:qq({" ~ $foo ~ "})'
> :
> : ...or something to that effect.
>
> Assuming that's what was wanted. I figgered they want something more
> like:
>
> $ perl6 -e 'my $foo = "foo"; say q[{] ~ $foo ~ q[}];'
True enough. Either one of these would be more clear than the
original example in terms of user intent.
As well, isn't there a way to escape a character that would otherwise
be interpolated? If the intent were as you suppose, the original
could be rewritten as:
$ perl6 -e 'my $foo = "foo";say "\{" ~ $foo ~ "}"'
(Or would you need to escape the closing curly brace as well as the
opening one?)
--
Jonathan "Dataweaver" Lang