use strict;
use warnings;
-our $VERSION = '1.59';
+our $VERSION = '1.62';
our $DEBUG;
$DEBUG = 0 unless defined $DEBUG;
NAME : DQSTRING
| /\w+/
-DQSTRING : '"' /((?:[^"]|"")+)/ '"'
- { ($return = $item[2]) =~ s/""/"/g; }
+DQSTRING : '"' <skip: ''> /((?:[^"]|"")+)/ '"'
+ { ($return = $item[3]) =~ s/""/"/g; }
-SQSTRING : "'" /((?:[^']|'')*)/ "'"
- { ($return = $item[2]) =~ s/''/'/g }
+SQSTRING : "'" <skip: ''> /((?:[^']|'')*)/ "'"
+ { ($return = $item[3]) =~ s/''/'/g }
+
+DOLLARSTRING : /\$[^\$]*\$/ <skip: ''> /.*?(?=\Q$item[1]\E)/s "$item[1]"
+ { $return = $item[3]; }
VALUE : /[-+]?\d*\.?\d+(?:[eE]\d+)?/
| SQSTRING
+ | DOLLARSTRING
| /null/i
{ 'NULL' }