Я - новичок в Perl, с опытом программирования на PHP, и я собрал этот скрипт на Perl для чтения довольно большого файла данных без символов EOL и создания файла SQL с операторами INSERT.Моя проблема в том, что в исходном файле есть «специальные символы» (например, одинарные кавычки), и из-за этих символов у меня возникают недопустимые запросы SQL.
Мой вопрос: есть ли способ избежать данныхперед построением SQL-запроса?
Вот скрипт Perl:
#! /usr/bin/perl
use strict;
use warnings;
my $filename = "foo.dat";
my $buf = "";
open (MYFILE, '>data.sql');
open(my $fh, "<", $filename) or die $!;
while(read($fh, $buf, 80)) {
if ( defined $buf && length $buf > 2 ) {
my $aa = substr $buf, 0, 2;
my $bb = substr $buf, 2, 1;
my $cc = substr $buf, 3;
print MYFILE "INSERT INTO foo (aa, bb, cc) VALUES ('".$aa."', '".$bb."', '".$cc."')\n";
}
}
close (MYFILE);