6 use vars qw/$db_driver $db_host $db_user $db_pwd $DB_PWD $db_name $db/;
7 use vars qw/$tb_obsah/;
12 $DB_PWD=$ENV{"HOME"}."/priv/mysql.${db_user}.pwd";
14 $tb_obsah="energie_obsah";
16 open DB_PWD or die "Failed open \"$DB_PWD\": $!";
21 $db=DBI->connect("DBI:$db_driver:database=$db_name;host=$db_host",$db_user,$db_pwd) or die "Database open fail: $!";
27 $db->do($cmd) or die("SQL command \"$cmd\" failed: $!");
30 eval { &db_do("drop table $tb_obsah") };
32 &db_do("create table $tb_obsah ("
33 ."year year(4) not null,"
34 ."month tinyint not null,"
35 ."month_last tinyint not null,"
36 ."contents text not null"
39 &db_do("alter table $tb_obsah add unique (year,month)");
42 use vars qw/$insert_tb_obsah $year $month $month_last $contents/;
46 return " in file $ARGV on line $.";
52 return if !defined $_;
53 die "Empty contents".&where() if !$_;
55 s/([\001\n]) | ([\002\n])/$1$2/g;
56 s/\nstrana \.\.\. ([\d ,]+\002)/\003$1/g;
57 die "Page marker not found somewhere in this month".&where() if (/\001[^\003]*\002/);
59 $insert_tb_obsah->execute($year,$month,$month_last,substr($_,1)) or die "SQL insert failure: $!";
64 $insert_tb_obsah=$db->prepare("insert into $tb_obsah (year,month,month_last,contents) values (?,?,?,?)")
65 or die "Prepare fail: $!";
69 if (m#^EaP (\d+)(-(\d+))?/(\d+)$#) {
72 $month_last=($3 ? $3 : $1);
78 $contents.="\001$1\002";
82 $contents=substr($contents,0,-1)."\n$1\002";
85 die "Unexpected text".&where().": $_" if (/\S/);