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