[sf-perl] Referencing a variable???
David Fetter
david at fetter.org
Tue Jul 28 16:32:35 PDT 2009
On Tue, Jul 28, 2009 at 04:09:28PM -0700, Peter Loo wrote:
> Hi All,
>
> I have done this once before and can't seem to remember how I did it.
>
> I have 10 program variables namely $parm[1-10]. Then I try to check if they are set using a loop like so:
>
> for ( my $x = 1; $x <= $maxParm; $x++ ) {
> my $parmName = "parm" . $x;
> if ( $$parmName ) {
> my ($hardValue, $replaceValue) = split(/~!~/, $$parmName);
> $sqlString =~ s/~$hardValue~/$replaceValue/g;
> }
> }
>
> $$parmName has no value. What am I doing wrong?
I'm sorry that this sounds harsh, but the answer to that question is,
"just about everything."
String-mashing to create SQL invites Little Bobby Tables into your
life. See http://xkcd.com/327/
Instead, use prepare() and execute(), each explained in detail in the
DBI docs. :)
Cheers,
David.
P.S. Looping constructs in Perl aren't the ones in C. Use the Perl
ones in Perl programs :)
--
David Fetter <david at fetter.org> http://fetter.org/
Phone: +1 415 235 3778 AIM: dfetter666 Yahoo!: dfetter
Skype: davidfetter XMPP: david.fetter at gmail.com
Remember to vote!
Consider donating to Postgres: http://www.postgresql.org/about/donate
More information about the SanFrancisco-pm
mailing list