I fixed up the scoping and interpolation of some of Perl's quote-like operators: q//, qq//, qw//, qx//, and m//. s///, tr///, and heredocs still need some work.
Attached is the diff and test script.
* Grant Hollingworth grant@antiflux.org [2006-11-15 23:23]:
I fixed up the scoping and interpolation of some of Perl's quote-like operators: q//, qq//, qw//, qx//, and m//. s///, tr///, and heredocs still need some work.
oops. The test script had a syntax error, and qw// isn't interpolated.
On 16. Nov 2006, at 07:38, Grant Hollingworth wrote:
I fixed up the scoping and interpolation of some of Perl's quote- like operators: q//, qq//, qw//, qx//, and m//. s///, tr///, and heredocs still need some work.
oops. The test script had a syntax error, and qw// isn't interpolated.
<perl-quoting-test> <perl-quote.diff>
Thanks, I applied the patch. I changed the string.quoted.single/ double to string.quoted.other, since the single/double refer to ' and ".
* Allan Odgaard throw-away-1@macromates.com [2006-11-17 16:58]:
Thanks, I applied the patch. I changed the string.quoted.single/ double to string.quoted.other, since the single/double refer to ' and ".
Okay. I changed all the qq// parts to string.quoted.other.qq, and qx// to string.interpolated.qx. The exception is qx'', which is *not* interpolated, so I put it with string.quoted.other.q. qw// is also in string.quoted.other.q.
* Grant Hollingworth grant@antiflux.org [2006-11-18 11:19]:
Okay. I changed all the qq// parts to string.quoted.other.qq, and qx// to string.interpolated.qx. The exception is qx'', which is *not* interpolated, so I put it with string.quoted.other.q.
I misunderstood the meaning of string.interpolated. qx'' is now string.interpolated.qx.single-quote.perl.