Ошибка при выволнении perl скрипта (use mysql)

Модератор: Модераторы разделов

taren
Сообщения: 13

Ошибка при выволнении perl скрипта

Сообщение taren »

есть скрипт

#!/usr/bin/perl
use Mysql;

$plain_path='/usr/local/var/traffic_plain/';
$yesterday=`date -v-1d '+%Y%m%d'`;
chomp($yesterday); $full_path=$plain_path.$yesterday.".ed0";

$dbh = Mysql->Connect("","ipacc");
$del_query="delete from yesterday;";
$dbh->Query($del_query);

open(F,$full_path) || die "Can't open traffic plain file";
while ($str=)
{
chomp($str);
$fi=substr($str,0,1);

if (($fi>='1') && ($fi<='9'))
{
@a=split('\s+',$str);
# @a[0] - src_ip, @a[1] - src_port, @a[2] - dst_ip, @a[3] - dst_port
# @a[4] - proto, @a[6] - size of packets

if (@a[1] eq 'client') {
$src_port=65535;
} else {
if (@a[1] eq 'none') {
$src_port=0;
} else {
$src_port=@a[1];
}
}
if (@a[3] eq 'client') {
$dst_port=65535;
} else {
if (@a[3] eq 'none') {
$dst_port=0;
} else {
$dst_port=@a[3];
}
}
$proto=0;
if (@a[4] eq 'icmp') {
$proto=1; }
if (@a[4] eq 'tcp') {
$proto=6; }
if (@a[4] eq 'udp') {
$proto=17; }

$ins_query="insert into yesterday (src_ip, src_port, dst_ip,\
dst_port, proto, bytes) values ('".@a[0]."',".$src_port.\
",'".@a[2]."',".$dst_port.",".$proto.\",".$a[6].");";
$dbh->Query($ins_query);
};
};

close(F);


в общем когда он запускаеться... вілетает ощибка

Can't locate Mysql.pm in @INC (@INC contains: /usr/local/lib/perl5/site_perl/5.005/i386-freebsd /usr/local/lib/perl5/site_perl/5.005 . /usr/libdata/perl/5.00503/mach /usr/libdata/perl/5.00503) at ./db_step1.pl line 2.
BEGIN failed--compilation aborted at ./db_step1.pl line 2.

что может быть?
<_<


В следующий раз за такое название темы влеплю предупреждение
Спасибо сказали:
Аватара пользователя
Holy Joly Sergik
Сообщения: 88

Re: Ошибка при выволнении perl скрипта

Сообщение Holy Joly Sergik »

Не установлен модуль perl для работы с базами данных.
FreeBSD 6.0 - RELEASE + Windows XP + Mandrake 10.1 on Cel 2400
Windows 2000 on Cel 633
Спасибо сказали:
taren
Сообщения: 13

Re: Ошибка при выволнении perl скрипта

Сообщение taren »

Holy Joly Sergik писал(а):
16.10.2005 05:05
Не установлен модуль perl для работы с базами данных.

а как его поставить и какой именно модуль
Спасибо сказали:
allez
Сообщения: 2223
Статус: Не очень злой админ :-)
ОС: SuSE, CentOS, FreeBSD, Windows

Re: Ошибка при выволнении perl скрипта

Сообщение allez »

Вот этого модуля вам не хватает:
Can't locate Mysql.pm


Поставить же можно несколькими способами:

1. Скачать модуль с http://cpan.org и установить вручную, руководствуясь README.

2. Дать в консоли команду perl -MCPAN -e shell и в запустившейся оболочке скомандовать install Mysql.

3. Установить Webmin и воспользоваться (извините за невольную тавтологию) модулем "Модули Perl".
Спасибо сказали:
vadiml
Сообщения: 446
ОС: fc12.x86_64

Re: Ошибка при выволнении perl скрипта

Сообщение vadiml »

4. Скачать модуль с mysql.com (они сами первые клиенты для своей базы писали на perl'е)
phenom x4 905e, asus m4a79 deluxe, 4 gb, ati x550, ati 4350, 2 x 17" LCD
Спасибо сказали: