Sorry, you're right. I'm using single quotes on $htmlvar like this:
my $price = "50";
my $htmlvar = '<li>The price is \$$price</li>';
my $sth = $dbh->prepare(qq{UPDATE database SET htmlvar=? WHERE ID=?});
$sth->execute($htmlvar, $ID) or die $dbh->errstr;
$sth->finish;
But I've also used double quotes and I get the same result. I guess I don't understand what the difference is in setting it to a var, vs writing it to a file. The following works:
$prices_file = "/usr/home/user/public_html/site/prices.txt";
open (OUT_FILE, ">".$prices_file) || die "ERROR: *** Cannot open outpu
+t file: $prices_file. ***\n";
print OUT_FILE qq~
<li>The price is \$$price</li>
~;
close (OUT_FILE);
my $htmlvar;
open(my $fh, '<', $prices_file) or die "cannot open file $pric
+es_file";
{
local $/;
$htmlvar = <$fh>;
}
close($fh);
my $sth = $dbh->prepare(qq{UPDATE database SET htmlvar=? WHERE ID=?});
$sth->execute($htmlvar, $ID) or die $dbh->errstr;
$sth->finish;
UPDATE: Okay, I tried it again with the double quotes and got it to work so I guess that was where my error was. I was using single quotes. Thanks.
|