> The problem may be that the DB_PASSWORD line is unable to handle an @
> sign (though I cannot reproduce it). 

I'm not sure why you can't reproduce this:

$ perl -e "my %CF_REPLACE = (
 'DB_TYPE'=> mysql,
 'DB_HOST'           => localhost,
 'DB_TYPE'           => mysql,
 'DB_HOST'           => localhost,
 'DB_LOGIN'          => webcalsqlusername,
 'DB_PASSWORD'       => [EMAIL PROTECTED],
 'DB_DATABASE'       => webcalname,
 'DB_PERSISTENT'     => true,
 'USE_HTTP_AUTH'     => false,
 'SINGLE_USER_MODE'  => N,
 'SINGLE_USER_LOGIN' =>          };

while (my \$line = <STDIN>) {
foreach my \$search (keys %CF_REPLACE) {
my \$replace = \$CF_REPLACE{\$search};
\$line =~ s/DEBCONF::\$search/\$replace/g;
}

print \$line;
}"
Search pattern not terminated at -e line 7.
$

single-quoting the value of DB_PASSWORD appears to be sufficient to fix this
problem.

A general fix is to single-quote all of the values in the perl expression,
and to escape any occurrences of ' and " in the values using sed.

-- 
Steve Langasek
postmodern programmer

Attachment: signature.asc
Description: Digital signature

Reply via email to