I found this code snipit but it doesn't quite work:
my @records = ( ['value1', 'value2'], ...) ;
my $values = join ", ", ("( ?, ? )" x @records);
my $query = "INSERT INTO $table (field1, field2) VALUES $values";
my $sth = $dbh->prepare($query);
$sth->execute(map { @$_ } @records);
I modified it a bit to get it to work (below). The above code doesn't set the $values variable correctly, that join doesn't work.
my @list;
foreach (@records) {
push(@list,"( ?, ?, ? )");
}
my $values = join(',', @list);
That works although not as cool. I've never seen a list created quite like this before, and I am curious:
join ", ", ("( ?, ? )" x @records);
Can someone correct that bit to show what the original author was trying to do?
UPDATE
I think I confused this post by leaving the MySQL stuff in there (and choosing a poor title). This is actually a Perl question, but I didn't state it clearly. What I should have asked is how to properly use the repetition operator in a join to produce a certain string. The "x" operator use is incorrect in my example (needs a list on both sides, the right paren is in the wrong place).
Mr. Muskrat (below) answered my question (he also showed the broken string with the fixed string).
Posts are HTML formatted. Put <p> </p> tags around your paragraphs. Put <code> </code> tags around your code and data!
Titles consisting of a single word are discouraged, and in most cases are disallowed outright.
Read Where should I post X? if you're not absolutely sure you're posting in the right place.
Please read these before you post! —
Posts may use any of the Perl Monks Approved HTML tags:
- a, abbr, b, big, blockquote, br, caption, center, col, colgroup, dd, del, details, div, dl, dt, em, font, h1, h2, h3, h4, h5, h6, hr, i, ins, li, ol, p, pre, readmore, small, span, spoiler, strike, strong, sub, summary, sup, table, tbody, td, tfoot, th, thead, tr, tt, u, ul, wbr
You may need to use entities for some characters, as follows. (Exception: Within code tags, you can put the characters literally.)
| |
For: |
|
Use: |
| & | | & |
| < | | < |
| > | | > |
| [ | | [ |
| ] | | ] |
Link using PerlMonks shortcuts! What shortcuts can I use for linking?
See Writeup Formatting Tips and other pages linked from there for more info.