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 

Reply via email to