Jonathan Scott Duff writes: > Non-Interpolating constructs are strings in which expressions do > not interpolate or expand. The exception to this rule is the > backslash character C<\>. A single backslash which is followed > by the current quoting delimiter, or the characters q[ or q[[ is > special (more on this below). In all other cases the backslash > just means "literal next character". This is so that you can > easily get a backslash within your non-interpolating strings. > For instance, 'backslash (\\) \test' becomes "backslash \ test". > > <barbie>writing is hard!</barbie> :-) > > -Scott > -- > Jonathan Scott Duff > [EMAIL PROTECTED] > >
my take : non interpolating construct is a sequence of characters enclosed in delimiters for which perl switch off *any* perl-programm-like interpretation of the content. since perl have to find the end of this "I-am-not-looking" phase , the delimiter itself have to appear inside the string prefixed by backslash "\" and since now "\" itself acquire special "assignment" , if it is meant to be part of the string it have to appear backslash-prefixed "\\" itself. In principle *any* character can be backslashed *inside* the string , but only for delimiter and the backslash this is absolutely necessary. in this sence interpolated string is "language inside language" . hence : * some characters ( or words ) have to be "reserved in the inner language in order for outer language to know where the inner language text stops. * this is achieved by chosing a prefix , and any character from outer language is represented in the inner languge by the same character with prefix - two character sequance * for all *except* two characters -- the delimiter and the prefix -- we can make syntactic sugar of making the character to "mean" itself . '\ \ \h\e\l\l\o\ \ ' '\'\\\ \\\ \\\h\\\e\\\l\\\l\\\o\\\ \\\ \'' .... arcadi