Страница 1 из 1
Как переделать скрипт для модуля p5-DBD-mysql51
Добавлено: 2009-01-18 17:02:45
BaHJa
я использую скрипт для подсчета трафика с помощю Ipacctd взятый с этого сайта,
Код: Выделить всё
#!/usr/bin/perl -w
# вводим переменные
# MySQL - хост где БД
$db_host = 'localhost';
# MySQL юзер
$db_user = 'ipacctd';
# MySQL пароль
$db_password = 'ipacctd';
# MySQL база данных
$db_database = 'ipacctd';
# подрубаем модуль для работы с MySQL
use Mysql;
# время - тока чтоб год достать...
use Time::localtime;
# достаём время
# Год
$year = localtime->year() + 1900;
# Месяц (идиотский язык, чтобы достать месяц в виде
# двузначного числа приходиться изгаляться через жопу...)
# Если знаете способ лучше - подскажите, поменяю...
$month = `date '+%m'`;
$month = substr($month,0,2);
# Коннектимся к MySQL
$dbh = Mysql->Connect($db_host,$db_database,$db_user,$db_password);
# Вызываем внешние программы по сохранению траффика
system("killall -1 ipacctd && sleep 2");
#use strict;
if(open(RC_CONF,"/etc/rc.conf")){
my @data = reverse <RC_CONF>;
chomp @data;
close RC_CONF;
foreach my $str (@data)
{
# разбираем rc.conf
next if $str =~ /^#/ or $str =~ /^\s*$/;
$str =~ /^\s+/;
$str =~ /\s+$/;
my($var_name,$var_value) = split(/=/, $str);
if($var_name eq 'ipacctd_rules')
{
$var_value =~ s#^\s*(['"]?)(.*)\1#$2#;
foreach my $interface (split (/\s+/, $var_value))
{
# шуршим по интерфейсам
# Создаём таблицу для постоянного хранения траффика
# строим кверю к MySQL
$MySQL_query = "CREATE TABLE IF NOT EXISTS `" . $interface . "_" . $year . "`(
`unic_id` INT(16) NOT NULL auto_increment,
`date` DATE NOT NULL,
`time` TIME NOT NULL,
`unix_time` INT(12) NOT NULL,
`from_IP` CHAR(16) NOT NULL,
`port_from_IP` INT(8) NOT NULL,
`to_IP` CHAR(16) NOT NULL,
`port_to_IP` INT(8) NOT NULL,
`protocol` CHAR(12) NOT NULL,
`bytes` INT(16) NOT NULL,
`paketov` INT(8) NOT NULL,
PRIMARY KEY (`unic_id`),
KEY `date`(`date`),
KEY `unix_time`(`unix_time`)
) ENGINE=MyISAM COMMENT='Traffic for " . $interface . "-interface'";
# Делаем запрос к БД, если неудачный - помираем с ошибкой
$dbh->Query("$MySQL_query") or die $Mysql::db_errstr;
# строим путь к файлу с траффиком
$file_path = "/var/log/traffic_" . $interface . ".log";
# открываем файло
open TRAFFIC,"$file_path";
# Разбираем построчно
while (<TRAFFIC>)
{
# убираем лишние пробелы
#tr/\s+/ /s;
# Разбиваем по пробелам на переменные
($from_IP,$port_from_IP,$to_IP,$port_to_IP,$protocol,
$bytes,$paketov) = split(/\s+/,$_);
# пихаем траффик в БД
$MySQL_query = "INSERT INTO `" . $interface . "_" . $year . "`
(`date`,`time`,`unix_time`,`from_IP`,`port_from_IP`,`to_IP`,
`port_to_IP`,`protocol`,`bytes`,`paketov`) VALUES (DATE(NOW()),
TIME(NOW()),UNIX_TIMESTAMP(),'" . $from_IP . "',
'" . $port_from_IP . "','" . $to_IP . "','" . $port_to_IP . "',
'" . $protocol . "','" . $bytes . "','" . $paketov . "')";
# Делаем запрос к БД, если неудачный - помираем с ошибкой
$dbh->Query("$MySQL_query") or die $Mysql::db_errstr;
}
# создаём директории
system("mkdir -p /var/traffic/" . $year . "/" . $month);
# переносим траффик
$otkuda = "/var/log/traffic_" . $interface . ".log";
$kuda = "/var/traffic/" . $year . "/" . $month . "/summary." . $interface;
system("cat $otkuda >> $kuda");
# очищаем файло
system("cat /dev/null > $otkuda");
# создаём таблицу, где будет храниться траффик
}
}
}
}
# выходим
1;
но я поставил psychostats для Counter-Strike, а ево скрипт требует модуль p5-DBD-mysql51, но получилса конфликт с модулем Mysql, который использует скрипт для подсчета трафика,
по гуглив я сделал изменения
use DBI;
$drh = DBI->install_driver('mysql');
$dbh = $drh->connect($db_host,$db_database,$db_user,$db_password);
но викадывает ошыбку:
Can't use string ("ipacctd") as a HASH ref while "strict refs" in use at /usr/local/lib/perl5/site_perl/5.8.8/mach/DBD/mysql.pm line 117.
Подскажыте как правильно переделать этот скрипт.
Re: Как переделать скрипт для модуля p5-DBD-mysql51
Добавлено: 2009-02-13 7:36:54
zingel
правильне - обновить DBD
Re: Как переделать скрипт для модуля p5-DBD-mysql51
Добавлено: 2009-02-13 16:14:56
BaHJa
Обновил с помощю portugrade
p5-DBD-mysql51-4.006 MySQL 5.1 driver for the Perl5 Database Interface (DBI)
p5-DBI-1.60.7 The perl5 Database Interface. Required for DBD::* modules
не помогло
Re: Как переделать скрипт для модуля p5-DBD-mysql51
Добавлено: 2009-02-13 16:59:36
ProFTP
s/use Mysql;/use DBI;/g
Re: Как переделать скрипт для модуля p5-DBD-mysql51
Добавлено: 2009-02-13 20:33:33
BaHJa
можно немножко подробние описать што за чем, добавить это в скрипт? пробывал пишет синтакс эрор
Re: Как переделать скрипт для модуля p5-DBD-mysql51
Добавлено: 2009-02-13 20:55:17
ProFTP
Re: Как переделать скрипт для модуля p5-DBD-mysql51
Добавлено: 2009-02-13 21:19:58
ProFTP
я не дочитал
попробуй так
и какая ошибка будет?
потом так
наифига ты это
поставил?
Re: Как переделать скрипт для модуля p5-DBD-mysql51
Добавлено: 2009-02-13 22:45:02
BaHJa
наифига ты это
ProFTP писал(а):
поставил?
потомушто выдавало Can't locate object method "Connect" via package "Mysql" at ./script2 line 27. это как раз эта строка по гуглив нашол што нужно DBI писать и єта ошыбка исчезла.
ProFTP писал(а):я не дочитал
попробуй так
и какая ошибка будет?
тоже самое
ProFTP писал(а):
потом так
Сделал
Код: Выделить всё
#!/usr/bin/perl
$db_host = 'localhost';
$db_user = 'ipacctd';
$db_password = 'ipacctd';
$db_database = 'ipacctd';
use DBI;
use strict;
use Time::localtime;
$year = localtime->year() + 1900;
$month = `date '+%m'`;
$month = substr($month,0,2);
$drh = DBI->install_driver('mysql');
$dbh = $drh->connect($db_host,$db_database,$db_user,$db_password);
ошыбка
Код: Выделить всё
Variable "$db_host" is not imported at ./dbiscript line 31.
Variable "$db_database" is not imported at ./dbiscript line 31.
Variable "$db_user" is not imported at ./dbiscript line 31.
Variable "$db_password" is not imported at ./dbiscript line 31.
Global symbol "$year" requires explicit package name at ./dbiscript line 20.
Global symbol "$month" requires explicit package name at ./dbiscript line 24.
Global symbol "$month" requires explicit package name at ./dbiscript line 25.
Global symbol "$month" requires explicit package name at ./dbiscript line 25.
Global symbol "$drh" requires explicit package name at ./dbiscript line 30.
Global symbol "$dbh" requires explicit package name at ./dbiscript line 31.
Global symbol "$drh" requires explicit package name at ./dbiscript line 31.
Global symbol "$db_host" requires explicit package name at ./dbiscript line 31.
Global symbol "$db_database" requires explicit package name at ./dbiscript line 31.
Global symbol "$db_user" requires explicit package name at ./dbiscript line 31.
Global symbol "$db_password" requires explicit package name at ./dbiscript line 31.
Global symbol "$MySQL_query" requires explicit package name at ./dbiscript line 55.
Global symbol "$year" requires explicit package name at ./dbiscript line 55.
Global symbol "$dbh" requires explicit package name at ./dbiscript line 72.
Global symbol "$MySQL_query" requires explicit package name at ./dbiscript line 72.
Global symbol "$file_path" requires explicit package name at ./dbiscript line 74.
Global symbol "$file_path" requires explicit package name at ./dbiscript line 76.
Global symbol "$from_IP" requires explicit package name at ./dbiscript line 83.
Global symbol "$port_from_IP" requires explicit package name at ./dbiscript line 83.
Global symbol "$to_IP" requires explicit package name at ./dbiscript line 83.
Global symbol "$port_to_IP" requires explicit package name at ./dbiscript line 83.
Global symbol "$protocol" requires explicit package name at ./dbiscript line 83.
Global symbol "$bytes" requires explicit package name at ./dbiscript line 84.
Global symbol "$paketov" requires explicit package name at ./dbiscript line 84.
Global symbol "$MySQL_query" requires explicit package name at ./dbiscript line 87.
Global symbol "$year" requires explicit package name at ./dbiscript line 87.
Global symbol "$from_IP" requires explicit package name at ./dbiscript line 90.
Global symbol "$port_from_IP" requires explicit package name at ./dbiscript line 91.
Global symbol "$to_IP" requires explicit package name at ./dbiscript line 91.
Global symbol "$port_to_IP" requires explicit package name at ./dbiscript line 91.
Global symbol "$protocol" requires explicit package name at ./dbiscript line 92.
Global symbol "$bytes" requires explicit package name at ./dbiscript line 92.
Global symbol "$paketov" requires explicit package name at ./dbiscript line 92.
Global symbol "$dbh" requires explicit package name at ./dbiscript line 94.
Global symbol "$MySQL_query" requires explicit package name at ./dbiscript line 94.
Global symbol "$year" requires explicit package name at ./dbiscript line 97.
Global symbol "$month" requires explicit package name at ./dbiscript line 97.
Global symbol "$otkuda" requires explicit package name at ./dbiscript line 99.
Global symbol "$kuda" requires explicit package name at ./dbiscript line 100.
Global symbol "$year" requires explicit package name at ./dbiscript line 100.
Global symbol "$month" requires explicit package name at ./dbiscript line 100.
Global symbol "$otkuda" requires explicit package name at ./dbiscript line 101.
Global symbol "$kuda" requires explicit package name at ./dbiscript line 101.
Global symbol "$otkuda" requires explicit package name at ./dbiscript line 103.
Execution of ./dbiscript aborted due to compilation errors.
Re: Как переделать скрипт для модуля p5-DBD-mysql51
Добавлено: 2009-02-14 1:49:43
ProFTP
хорошой стиль программирование - это объявить все переменные..
а что это делает?
$drh = DBI->install_driver('mysql');
так а куда оно ругается? mysql стоит? какая версию? может ты криво поставил... поробуй удали субд и поставь этот модуль... p5-DBD-mysql51
Re: Как переделать скрипт для модуля p5-DBD-mysql51
Добавлено: 2009-02-14 13:57:12
BaHJa
Ругаєтса потомушто для другого модуля написан этот скрипт, он написан для модуля p5-Mysql, а я єтот модуль снес и поставил p5-DBD-mysql51 потомушто другой скрипт написан под этот модуль и не хотел работать на p5-Mysql, а эти два модуля не могут быть одновременно пишет конфликт, как их подружить? думал скрипт под DBD DBI модуль кто поможет переделать. Потомушто Скрипт корторый считает статистику для Psychostats сервакак контры нормально работает когда поставил для нево DBD DBI модуль.
Re: Как переделать скрипт для модуля p5-DBD-mysql51
Добавлено: 2009-02-14 16:27:32
thefree
арг perl это религия где основные аспекты (-w, use strict;)
Попробуйти сначала
Код: Выделить всё
#!/usr/bin/perl -w
use strict;
use DBI;
my $dbh = DBI->connect("DBI:mysql:test_database", "mysql_user","mysql_password") or die "Error connecting to base\n";
print "ok\n" if $dhb;
и скажити что выведит ...
в консоли и какая верся perl
Re: Как переделать скрипт для модуля p5-DBD-mysql51
Добавлено: 2009-02-14 20:14:13
ProFTP
thefree писал(а):арг perl это религия где основные аспекты (-w, use strict;)
-w не всегджа подхождит, он может ругатся на всё что угодно, естественно там где очень кривой алгоритм там будет ругатся, но от "утечек памяти" этот ключ -w не спасает, его использовать - это трата времени
Re: Как переделать скрипт для модуля p5-DBD-mysql51
Добавлено: 2009-02-14 20:21:09
zg
гм.. а на кой тут вообще нужен перл?
Re: Как переделать скрипт для модуля p5-DBD-mysql51
Добавлено: 2009-02-14 22:32:57
thefree
ProFTP писал(а):thefree писал(а):арг perl это религия где основные аспекты (-w, use strict;)
-w не всегджа подхождит, он может ругатся на всё что угодно, естественно там где очень кривой алгоритм там будет ругатся, но от "утечек памяти" этот ключ -w не спасает, его использовать - это трата времени
хм, а про утечки памяти никто не говорит ... использую исключительно для отладки ...
проблема сама в запросе
Код: Выделить всё
# Делаем запрос к БД, если неудачный - помираем с ошибкой
$dbh->Query("$MySQL_query") or die $Mysql::db_errstr;
DBD же
Код: Выделить всё
my $sql = $db->prepare("select id, name, orgname, year, type, country, directed, actor, img from films $search");
$sql->execute();
Re: Как переделать скрипт для модуля p5-DBD-mysql51
Добавлено: 2009-02-17 1:26:39
BaHJa
thefree писал(а):арг perl это религия где основные аспекты (-w, use strict;)
Попробуйти сначала
Код: Выделить всё
#!/usr/bin/perl -w
use strict;
use DBI;
my $dbh = DBI->connect("DBI:mysql:test_database", "mysql_user","mysql_password") or die "Error connecting to base\n";
print "ok\n" if $dhb;
и скажити что выведит ...
в консоли и какая верся perl
сделал
Код: Выделить всё
$db_host = 'localhost';
$db_user = 'ipacctd';
$db_password = 'ipacctd';
$db_database = 'ipacctd';
use strict;
use DBI;
use Time::localtime;
$year = localtime->year() + 1900;
$month = `date '+%m'`;
$month = substr($month,0,2);
$drh = DBI->install_driver('mysql');
my $dbh = DBI->connect("DBI:mysql:test_database", "mysql_user","mysql_password") or die "Error connecting to base\n";
print "ok\n" if $dhb;
дале ниче не менял вот ошыбка
Код: Выделить всё
Global symbol "$year" requires explicit package name at ./dbiscript line 21.
Global symbol "$month" requires explicit package name at ./dbiscript line 25.
Global symbol "$month" requires explicit package name at ./dbiscript line 26.
Global symbol "$month" requires explicit package name at ./dbiscript line 26.
Global symbol "$drh" requires explicit package name at ./dbiscript line 31.
Global symbol "$dhb" requires explicit package name at ./dbiscript line 34.
Global symbol "$MySQL_query" requires explicit package name at ./dbiscript line 59.
Global symbol "$year" requires explicit package name at ./dbiscript line 59.
Global symbol "$MySQL_query" requires explicit package name at ./dbiscript line 76.
Global symbol "$file_path" requires explicit package name at ./dbiscript line 78.
Global symbol "$file_path" requires explicit package name at ./dbiscript line 80.
Global symbol "$from_IP" requires explicit package name at ./dbiscript line 87.
Global symbol "$port_from_IP" requires explicit package name at ./dbiscript line 87.
Global symbol "$to_IP" requires explicit package name at ./dbiscript line 87.
Global symbol "$port_to_IP" requires explicit package name at ./dbiscript line 87.
Global symbol "$protocol" requires explicit package name at ./dbiscript line 87.
Global symbol "$bytes" requires explicit package name at ./dbiscript line 88.
Global symbol "$paketov" requires explicit package name at ./dbiscript line 88.
Global symbol "$MySQL_query" requires explicit package name at ./dbiscript line 91.
Global symbol "$year" requires explicit package name at ./dbiscript line 91.
Global symbol "$from_IP" requires explicit package name at ./dbiscript line 94.
Global symbol "$port_from_IP" requires explicit package name at ./dbiscript line 95.
Global symbol "$to_IP" requires explicit package name at ./dbiscript line 95.
Global symbol "$port_to_IP" requires explicit package name at ./dbiscript line 95.
Global symbol "$protocol" requires explicit package name at ./dbiscript line 96.
Global symbol "$bytes" requires explicit package name at ./dbiscript line 96.
Global symbol "$paketov" requires explicit package name at ./dbiscript line 96.
Global symbol "$MySQL_query" requires explicit package name at ./dbiscript line 98.
Global symbol "$year" requires explicit package name at ./dbiscript line 103.
Global symbol "$month" requires explicit package name at ./dbiscript line 103.
Global symbol "$otkuda" requires explicit package name at ./dbiscript line 105.
Global symbol "$kuda" requires explicit package name at ./dbiscript line 106.
Global symbol "$year" requires explicit package name at ./dbiscript line 106.
Global symbol "$month" requires explicit package name at ./dbiscript line 106.
Global symbol "$otkuda" requires explicit package name at ./dbiscript line 107.
Global symbol "$kuda" requires explicit package name at ./dbiscript line 107.
Global symbol "$otkuda" requires explicit package name at ./dbiscript line 109.
Execution of ./dbiscript aborted due to compilation errors.
без use strict;
Код: Выделить всё
Name "main::db_host" used only once: possible typo at ./dbiscript line 5.
Name "main::db_database" used only once: possible typo at ./dbiscript line 11.
Name "main::db_user" used only once: possible typo at ./dbiscript line 7.
Name "main::drh" used only once: possible typo at ./dbiscript line 31.
Name "main::db_password" used only once: possible typo at ./dbiscript line 9.
Name "main::dhb" used only once: possible typo at ./dbiscript line 34.
DBI connect('test_database','mysql_user',...) failed: Access denied for user 'mysql_user'@'localhost' (using password: YES) at ./dbiscript line 33
Error connecting to base
Re: Как переделать скрипт для модуля p5-DBD-mysql51
Добавлено: 2009-02-17 1:43:58
BaHJa
thefree писал(а):ProFTP писал(а):thefree писал(а):арг perl это религия где основные аспекты (-w, use strict;)
-w не всегджа подхождит, он может ругатся на всё что угодно, естественно там где очень кривой алгоритм там будет ругатся, но от "утечек памяти" этот ключ -w не спасает, его использовать - это трата времени
хм, а про утечки памяти никто не говорит ... использую исключительно для отладки ...
проблема сама в запросе
Код: Выделить всё
# Делаем запрос к БД, если неудачный - помираем с ошибкой
$dbh->Query("$MySQL_query") or die $Mysql::db_errstr;
DBD же
Код: Выделить всё
my $sql = $db->prepare("select id, name, orgname, year, type, country, directed, actor, img from films $search");
$sql->execute();
Ну если шапку оставить а изменить только єту $dbh->Query("$MySQL_query") or die $Mysql::db_errstr; на my $sql = $db->prepare("select id, name, orgname, year, type, country, directed, actor, img from films $search");
$sql->execute();
то с use strict;
Код: Выделить всё
Variable "$db_host" is not imported at ./dbiscript line 32.
Variable "$db_database" is not imported at ./dbiscript line 32.
Variable "$db_user" is not imported at ./dbiscript line 32.
Variable "$db_password" is not imported at ./dbiscript line 32.
Global symbol "$year" requires explicit package name at ./dbiscript line 21.
Global symbol "$month" requires explicit package name at ./dbiscript line 25.
Global symbol "$month" requires explicit package name at ./dbiscript line 26.
Global symbol "$month" requires explicit package name at ./dbiscript line 26.
Global symbol "$drh" requires explicit package name at ./dbiscript line 31.
Global symbol "$dbh" requires explicit package name at ./dbiscript line 32.
Global symbol "$drh" requires explicit package name at ./dbiscript line 32.
Global symbol "$db_host" requires explicit package name at ./dbiscript line 32.
Global symbol "$db_database" requires explicit package name at ./dbiscript line 32.
Global symbol "$db_user" requires explicit package name at ./dbiscript line 32.
Global symbol "$db_password" requires explicit package name at ./dbiscript line 32.
Global symbol "$MySQL_query" requires explicit package name at ./dbiscript line 59.
Global symbol "$year" requires explicit package name at ./dbiscript line 59.
Global symbol "$dbh" requires explicit package name at ./dbiscript line 76.
Global symbol "$MySQL_query" requires explicit package name at ./dbiscript line 76.
Global symbol "$file_path" requires explicit package name at ./dbiscript line 78.
Global symbol "$file_path" requires explicit package name at ./dbiscript line 80.
Global symbol "$from_IP" requires explicit package name at ./dbiscript line 87.
Global symbol "$port_from_IP" requires explicit package name at ./dbiscript line 87.
Global symbol "$to_IP" requires explicit package name at ./dbiscript line 87.
Global symbol "$port_to_IP" requires explicit package name at ./dbiscript line 87.
Global symbol "$protocol" requires explicit package name at ./dbiscript line 87.
Global symbol "$bytes" requires explicit package name at ./dbiscript line 88.
Global symbol "$paketov" requires explicit package name at ./dbiscript line 88.
Global symbol "$MySQL_query" requires explicit package name at ./dbiscript line 91.
Global symbol "$year" requires explicit package name at ./dbiscript line 91.
Global symbol "$from_IP" requires explicit package name at ./dbiscript line 94.
Global symbol "$port_from_IP" requires explicit package name at ./dbiscript line 95.
Global symbol "$to_IP" requires explicit package name at ./dbiscript line 95.
Global symbol "$port_to_IP" requires explicit package name at ./dbiscript line 95.
Global symbol "$protocol" requires explicit package name at ./dbiscript line 96.
Global symbol "$bytes" requires explicit package name at ./dbiscript line 96.
Global symbol "$paketov" requires explicit package name at ./dbiscript line 96.
Global symbol "$db" requires explicit package name at ./dbiscript line 99.
Global symbol "$search" requires explicit package name at ./dbiscript line 99.
Global symbol "$year" requires explicit package name at ./dbiscript line 103.
Global symbol "$month" requires explicit package name at ./dbiscript line 103.
Global symbol "$otkuda" requires explicit package name at ./dbiscript line 105.
Global symbol "$kuda" requires explicit package name at ./dbiscript line 106.
Global symbol "$year" requires explicit package name at ./dbiscript line 106.
Global symbol "$month" requires explicit package name at ./dbiscript line 106.
Global symbol "$otkuda" requires explicit package name at ./dbiscript line 107.
Global symbol "$kuda" requires explicit package name at ./dbiscript line 107.
Global symbol "$otkuda" requires explicit package name at ./dbiscript line 109.
Execution of ./dbiscript aborted due to compilation errors.
без use strict;
Код: Выделить всё
Name "main::db" used only once: possible typo at ./dbiscript line 99.
Name "main::search" used only once: possible typo at ./dbiscript line 99.
Name "Mysql::db_errstr" used only once: possible typo at ./dbiscript line 76.
Can't use string ("ipacctd") as a HASH ref while "strict refs" in use at /usr/local/lib/perl5/site_perl/5.8.8/mach/DBD/mysql.pm line 117.
Вобщем я совсєм запуталса может я чо не так понял, пожалуйста тогда напишы по порядку какие строки нужно поправить.
Re: Как переделать скрипт для модуля p5-DBD-mysql51
Добавлено: 2009-02-17 2:39:56
ProFTP
Re: Как переделать скрипт для модуля p5-DBD-mysql51
Добавлено: 2009-02-17 9:42:43
thefree
что нам стоит дом построить ...
Проста запусти скрипт.
Код: Выделить всё
#!/usr/bin/perl -w
use strict;
use DBI;
#config for mysql
my $db_host = 'localhost';
my $db_user = 'ipacctd';
my $db_password = 'ipacctd';
my $db_database = 'ipacctd';
#make session for localhost mysql
my $dbh = DBI->connect("DBI:mysql:".$db_database.":".$db_host, $db_user, $db_password) or die "$DBI::errstr\n";
print "ok\n" if $dhb;
Re: Как переделать скрипт для модуля p5-DBD-mysql51
Добавлено: 2009-02-19 0:40:15
BaHJa
Непомогло
Код: Выделить всё
Global symbol "$db_host" requires explicit package name at ./script2 line 9.
Global symbol "$db_user" requires explicit package name at ./script2 line 11.
Global symbol "$db_password" requires explicit package name at ./script2 line 13.
Global symbol "$db_database" requires explicit package name at ./script2 line 15.
Global symbol "$year" requires explicit package name at ./script2 line 20.
Global symbol "$month" requires explicit package name at ./script2 line 24.
Global symbol "$month" requires explicit package name at ./script2 line 25.
Global symbol "$month" requires explicit package name at ./script2 line 25.
Global symbol "$db_database" requires explicit package name at ./script2 line 28.
Global symbol "$db_host" requires explicit package name at ./script2 line 28.
Global symbol "$db_user" requires explicit package name at ./script2 line 28.
Global symbol "$db_password" requires explicit package name at ./script2 line 28.
Global symbol "$dhb" requires explicit package name at ./script2 line 29.
Global symbol "$MySQL_query" requires explicit package name at ./script2 line 54.
Global symbol "$year" requires explicit package name at ./script2 line 54.
Global symbol "$MySQL_query" requires explicit package name at ./script2 line 71.
Global symbol "$file_path" requires explicit package name at ./script2 line 73.
Global symbol "$file_path" requires explicit package name at ./script2 line 75.
Global symbol "$from_IP" requires explicit package name at ./script2 line 82.
Global symbol "$port_from_IP" requires explicit package name at ./script2 line 82.
Global symbol "$to_IP" requires explicit package name at ./script2 line 82.
Global symbol "$port_to_IP" requires explicit package name at ./script2 line 82.
Global symbol "$protocol" requires explicit package name at ./script2 line 82.
Global symbol "$bytes" requires explicit package name at ./script2 line 83.
Global symbol "$paketov" requires explicit package name at ./script2 line 83.
Global symbol "$MySQL_query" requires explicit package name at ./script2 line 86.
Global symbol "$year" requires explicit package name at ./script2 line 86.
Global symbol "$from_IP" requires explicit package name at ./script2 line 89.
Global symbol "$port_from_IP" requires explicit package name at ./script2 line 90.
Global symbol "$to_IP" requires explicit package name at ./script2 line 90.
Global symbol "$port_to_IP" requires explicit package name at ./script2 line 90.
Global symbol "$protocol" requires explicit package name at ./script2 line 91.
Global symbol "$bytes" requires explicit package name at ./script2 line 91.
Global symbol "$paketov" requires explicit package name at ./script2 line 91.
Global symbol "$MySQL_query" requires explicit package name at ./script2 line 93.
Global symbol "$year" requires explicit package name at ./script2 line 96.
Global symbol "$month" requires explicit package name at ./script2 line 96.
Global symbol "$otkuda" requires explicit package name at ./script2 line 98.
Global symbol "$kuda" requires explicit package name at ./script2 line 99.
Global symbol "$year" requires explicit package name at ./script2 line 99.
Global symbol "$month" requires explicit package name at ./script2 line 99.
Global symbol "$otkuda" requires explicit package name at ./script2 line 100.
Global symbol "$kuda" requires explicit package name at ./script2 line 100.
Global symbol "$otkuda" requires explicit package name at ./script2 line 102.
Execution of ./script2 aborted due to compilation errors.
Re: Как переделать скрипт для модуля p5-DBD-mysql51
Добавлено: 2009-02-19 9:58:28
thefree
Аргх, проста создай новый фаил вставь в него те строки, что я дал сверху. И выполни его.
Re: Как переделать скрипт для модуля p5-DBD-mysql51
Добавлено: 2009-02-20 1:13:25
BaHJa
Код: Выделить всё
Global symbol "$dhb" requires explicit package name at ./1234test line 14.
Execution of ./1234test aborted due to compilation errors.
скопировал вот што пишет
Re: Как переделать скрипт для модуля p5-DBD-mysql51
Добавлено: 2009-02-20 4:35:09
ProFTP
Re: Как переделать скрипт для модуля p5-DBD-mysql51
Добавлено: 2009-02-20 12:46:13
thefree
очепятка
BaHJa писал(а):Код: Выделить всё
Global symbol "$dhb" requires explicit package name at ./1234test line 14.
Execution of ./1234test aborted due to compilation errors.
скопировал вот што пишет
1. модуль у Вас работает нормально.
2. Вам надо переписать полность. весь скрипт с использованием функция от модуля DBD (
http://search.cpan.org/~capttofu/DBD-my ... D/mysql.pm )
Re: Как переделать скрипт для модуля p5-DBD-mysql51
Добавлено: 2009-02-21 1:07:47
BaHJa
ок, спс попробую