I don't think I fully understand the placeholder problem you're seeing. It may be Sybase-specific, and if you post the placeholder usage that didn't do what you wanted, you may get some better help.
But if it turns out you really do need to "fill out" the placeholder values by hand, here's how I've done it in the past:
my $sql = "insert into foo values (?,?,?)";
my @binds = qw/alpha beta gamma/;
{
my $i = 0;
$sql =~ s/\?/ $dbh->quote( $binds[$i++] ) /ge;
}
# "insert into foo values ('alpha','beta','gamma')"
Someone could probably golf this shorter, but you
must be careful not to replace question marks that appear in the bind values. For instance, I've seen
code on CPAN that would go wrong on this:
my $sql = "insert into foo values (?, ?)";
my @binds = ("Huh?", "What?");
# correct: "insert into foo values ('Huh?', 'What?')"
# mysqlPP: "insert into foo values ('Huh'What?'', ?)"
Update: Got rid of \G business.
-
Are you posting in the right place? Check out Where do I post X? to know for sure.
-
Posts may use any of the Perl Monks Approved HTML tags. Currently these include the following:
<code> <a> <b> <big>
<blockquote> <br /> <dd>
<dl> <dt> <em> <font>
<h1> <h2> <h3> <h4>
<h5> <h6> <hr /> <i>
<li> <nbsp> <ol> <p>
<small> <strike> <strong>
<sub> <sup> <table>
<td> <th> <tr> <tt>
<u> <ul>
-
Snippets of code should be wrapped in
<code> tags not
<pre> tags. In fact, <pre>
tags should generally be avoided. If they must
be used, extreme care should be
taken to ensure that their contents do not
have long lines (<70 chars), in order to prevent
horizontal scrolling (and possible janitor
intervention).
-
Want more info? How to link
or How to display code and escape characters
are good places to start.