Joseph F. Ryan writes:
>
> The base form for a non-interpolating string is the single-quoted
> string: 'string'. However, non-interpolating strings can also be formed
> with the q[] operator. The q[] operator allows strings to be made with
Ithink it's actually opposite:
The basic ( user extensible ) form of quoting is q[ ] or qq[ ] and so
on with the sintactic sugar of freedom to choose delimiters AND
special syntacric sugar for q//='' qq//="" qw//=<> ( and qx//=`` )
> any non-space, non-letter, non-digit character as the delimeter instead
> of '. In addition, if the starting delimeter is a part of a paired
> set, such as [, <, or {, then the closing delimeter may be the
.....
>
> =head2 Interpolating Constructs
>
> Interpolating constructs are another form of string in which certain
> expressions that are embedded into the string are expanded into their
> value at runtime. Interpolated strings are formed using the double
I think runtime/compile time is decided not by interpolating construct
but by the surrounding expression .
probably I can force interpolation at compile time by something
like
BEGIN{
my $line = "aaa" ;
my $a = "$line\n" ;
}
or
my $line ::= "aaa" ;
my $a ::= "$line\n" ;
by the way , what happens here ???
my $line = "aaa" ;
my $a ::= "$line\n" ;
in other words , what happens if the interpolation is forced at
compile time while not all variables inside are defined at compile
time ?
> quote: "string". In addition, qq[] is a synonym for "", similarly to
> q[] being a synoynm for ''. The rules for interpolation are as
> follows:
>
> =head3 Interpolation Rules
....
arcadi