Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #!/usr/bin/perl -w
- use strict;
- use utf8;
- use DBI;
- use Encode;
- ;**Хочу что бы он парсил сразу несколько файлов
- my $parse_file = '/etc/asterisk/ABC-3x.html','/etc/asterisk/ABC-4x.html','/etc/asterisk/ABC-8x.html','/etc/asterisk/DEF-9x.html';
- my $db_user = 'log';
- my $db_password = 'pass';
- my $db_database = 'asterisk';
- my $db_host = 'localhost';
- my ($base);
- ;и перед началом импорта, надо базу очистить
- $base = DBI->connect( "DBI:mysql:database=$db_database;host=$db_host", $db_user, $db_password ) or die "Не могу подключиться к базе: ".$base->errstr."\n";
- open (HTML, "cat $parse_file | iconv -f cp1251 -t utf8 |");
- while (<HTML>) {
- chomp;
- s/\t//g;
- if ( $_ =~ /^<tr><td>/){
- s/(<td>)|(<\/td>)|(<tr>)|(<\/tr>)/\t/g;
- s/\t{2,}/\t/g;
- my (undef, $t_def_code, $t_def_start, $t_def_stop, $t_def_num, $t_def_operator, $t_def_region) = split /\t/, $_;
- my $stament = $base->prepare('INSERT INTO `def_codes`(`def_code`, `def_start`, `def_stop`, `def_count`, `def_operator`, `def_region`) VALUES ( '.$t_def_code.', '.$t_def_start.', '.$t_def_stop.', '.$t_def_num.', \''.$t_def_operator.'\', \''.$t_def_region.'\')');
- if (!$stament) {
- print "Не могу подготовить запрос к выполнению:". $base->errstr."\n";
- next;
- }
- if ( !$stament->execute() ){
- print "Не могу выполнить запрос к базе: ".$stament->errstr."\n";
- next;
- }
- print $t_def_code."\t".$t_def_start."\t".$t_def_stop."\t".$t_def_operator."\t".$t_def_region."\n";
- }
- }
Add Comment
Please, Sign In to add comment