Beefy Boxes and Bandwidth Generously Provided by pair Networks
"be consistent"
 
PerlMonks  

Re: Using vars in a var

by GrandFather (Saint)
on Nov 02, 2022 at 02:32 UTC ( [id://11147902]=note: print w/replies, xml ) Need Help??


in reply to Using vars in a var

What you show us is not what you are doing. Are you sure you are using double quotes (") rather than single quotes (') when you set $htmlvar?

use warnings; use strict; my $price = "50"; print "$_\n" for "<li>The price is \$$price</li>", '<li>The price is \ +$$price</li>';

Prints:

<li>The price is $50</li> <li>The price is \$$price</li>

Maybe you need to give us some code we can actually run that shows the problem if quoting is not the issue? (See I know what I mean. Why don't you? and SSCCE.)

Optimising for fewest key strokes only makes sense transmitting to Pluto or beyond

Replies are listed 'Best First'.
Re^2: Using vars in a var
by htmanning (Friar) on Nov 02, 2022 at 04:06 UTC
    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.

Log In?
Username:
Password:

What's my password?
Create A New User
Domain Nodelet?
Node Status?
node history
Node Type: note [id://11147902]
help
Chatterbox?
and the web crawler heard nothing...

How do I use this?Last hourOther CB clients
Other Users?
Others rifling through the Monastery: (5)
As of 2024-04-20 00:13 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    No recent polls found