Использовать заполнители и значения связывания . Это также защитит вашу программу от внедрения SQL.
my $statement = $dbh->prepare("insert into $table VALUES(NULL, ?,?,?,?)");
$statement->execute(@DATA);
Предполагая, что количество элементов в @DATA
известно только во время выполнения (и что это правильное количество элементов для $table
), вы можете использовать
my $statement = $dbh->prepare("insert into $table VALUES(NULL" . ",?"x@DATA . ")";
$statement->execute(@DATA);
чтобы убедиться, что в заявлении указано правильное количество заполнителей.