While I suspect there is some more pragmatic answer, you might get that kind of behaviour from passing an overloaded object to the code (f ex something that overloads stringifying and concatenation and makes a poor job at it), or some tied variable, I guess. What are you passing to this sub, anyway? (Obscure reference: It is not $2, is it?)
Unless you are passing something you know to be strange magic, I would have another look at how this passed value behaves. Like this, perhaps:
my $passed_sql = shift; my $sql = "SELECT COUNT(*) etc blah blah"; print STDERR "Trying[1] to print parameter alone: " print STDERR $passed_sql; print STDERR "\nTrying[2] list print: ", $passed_sql; print STDERR "\nTrying[3] interpolated: $passed_sql\n"; die if $sql ne $passed_sql; # Might as well ... my ($total_cols) = $dbh->selectrow_array($sql) or die($dbh->errstr +);
Again, I expect the problem is easier (and might be fixed alread?), but if not, I hope this helps.
The Sidhekin
print "Just another Perl ${\(trickster and hacker)},"
In reply to Re: Re: Re: when is a string not a string?
by Sidhekin
in thread when is a string not a string?
by purge
| For: | Use: | ||
| & | & | ||
| < | < | ||
| > | > | ||
| [ | [ | ||
| ] | ] |