Revision: 115
Author: matt
Date: 2006-08-24 00:03:58 +0000 (Thu, 24 Aug 2006)
Log Message:
-----------
Allow both single and double quotes in config values
Modified Paths:
--------------
trunk/lib/AxKit2/Config.pm
Modified: trunk/lib/AxKit2/Config.pm
===================================================================
--- trunk/lib/AxKit2/Config.pm 2006-08-24 00:03:31 UTC (rev 114)
+++ trunk/lib/AxKit2/Config.pm 2006-08-24 00:03:58 UTC (rev 115)
@@ -167,17 +167,18 @@
sub _get_quoted {
my $line = shift;
+ my $quotechar = shift;
my $out = '';
- $line =~ s/^"//;
- while ($line =~ /\G(.*?)([\\\"])/gc) {
+ $line =~ s/^$quotechar//;
+ while ($line =~ /\G(.*?)([\\$quotechar])/gc) {
$out .= $1;
my $token = $2;
if ($token eq "\\") {
- $line =~ /\G([\"\\])/gc || die "invalid escape char";
+ $line =~ /\G([$quotechar\\])/gc || die "invalid escape char";
$out .= $1;
}
- elsif ($token eq '"') {
+ elsif ($token eq $quotechar) {
$line =~ /\G\s*(.*)$/gc;
return $out, $1;
}
@@ -198,9 +199,9 @@
my $str = shift;
my @vals;
while (length($str)) {
- if ($str =~ /^"/) {
+ if ($str =~ /^(["'])/) {
my $val;
- ($val, $str) = _get_quoted($str);
+ ($val, $str) = _get_quoted($str, $1);
push @vals, $val;
}
else {