Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Perl: Общие вопросы > Помогите с скриптом


Автор: 13Fighter 24.12.2006, 19:02
Суть скрипта - парсер базы ДМОЗа, т.е. парсер rdf файла.

Проблема вот в чем, при запуске возникает вот такая ошибка:


Цитата


C:\DMOZ>rem c:\Perl\bin\perl dmoz2mysql.pl

C:\DMOZ>perl dmoz2mysql.pl
Can't locate DB_File.pm in @INC (@INC contains: c:/Perl/lib c:/Perl/site/lib .)
at dmoz2mysql.pl line 20.
BEGIN failed--compilation aborted at dmoz2mysql.pl line 20.



Вот 18-22 строчки из dmoz2mysql.pl

use strict;
use Cwd;
use DB_File;
$|++;
unlink "results.html";


Не бейте сильно, если это легко исправить, просто в перле я 0.

Автор: nitr 24.12.2006, 19:53
ошибка возникла потому что Perl не обнаружил модуль DB_File
для решения введи:
C:\>perl -MCPAN -e "install DB_File"

з.ы.: есть и другие способы установки модулей Перл, но обычно это самый быстрый и простой... хотя иногда и требует кое-каких навыков и библиотек. Если не получится, обращайся smile , обсудим smile

Автор: 13Fighter 24.12.2006, 20:28
хмм, должно обновить, забыл указать перлу, что я за проксями, сейчас исправлю....


Но проблема по идеи решилась путем правки руки.sys.....файл в скрипте был указан с немного другим названием...вроде пошла даже без инсталяции модуля...


Спасибо за помощь.

Автор: nitr 24.12.2006, 21:37
Цитата(13Fighter @  24.12.2006,  20:28 Найти цитируемый пост)
файл в скрипте был указан с немного другим названием

Это как?  smile

Автор: 13Fighter 3.1.2007, 00:01
В скрипте был указан файл с другим названием....
Было:

Код

$cfg_settings{'rdf'} = 'content.rdf.u8';


а я хотел пропарсить только категории. Название файл категорий - structure.rdf.u8.


Хотя проблема врядли решилась......скрипт завис.. smile 


Прокси так и не подключилось.....установить библиотеки без него никуда.....


Пробовал подключить библиотеку через use lib qw(C:\perl\lib\DB_File);
но не получилось.... smile 

Автор: korob2001 3.1.2007, 01:42
DB_File - установи так, как положено. Если это *nix то, смотри выше, что написал тебе nitr, если под виндой, то юзай ppm, в командной строке дай команду:
Код

C:\>ppm install DB_File

Разумеется C:\> вводить не нужно, это приглашение оболочки.

Автор: 13Fighter 3.1.2007, 02:36
Нет, ну я понял, что надо установить библиотеку нормально.  smile 

Я пробовал через use lib qw(C:\perl\lib\DB_File); только потому, что напрямую скачать модуль не могу, так как за проксями(по принуждению - 2 компа дома, один через другой подключен, так что без прокси никак)

Буду очень благодарен, если покажете, как прокси к perl подключить, а то тот вариант, что в установке был не прошол.





Все понятно. Ети руки.sys такой хитроумный файл......вобщем модуль установил и прокси доставил, буду тестить скрипт. 

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)