У меня есть массив в Perl, как и следующий (только намного больше). Мой массив называется @sqlInsert
element1 В С
ELEMENT2 В С
element3 В С
Я хочу заполнить таблицу MySQL информацией в этих данных. Так что действительно, я хочу, чтобы одна строка:
for ($count=0; $count<@arrayInsert; $count++) {
INSERT INTO table values ("sqlInsert[$i]","sqlInsert[$i+1]","sqlInsert[$i+2]","sqlInsert[$i+3]")
}
Любые указатели?
Используйте заполнители DBI и...
... срез массива:
my $sth = $dbh->prepare( 'INSERT INTO table VALUES ( ?, ?, ?, ? )' );
$sth->execute( @sqlInsert[ $n .. $m ] );
... или сплайсинг:
while( @sqlInsert ) {
$sth->execute( splice @sqlInsert, 0, $length, () );
}
Может быть проще создать структуру данных, такую как массив массивов, который уже группирует элементы для каждой структуры:
foreach my $ref ( @sqlInsert ) {
$sth->execute( @$ref );
}