2013-10-03 5 views
-1

Как я новичок в Perl, я был бы счастлив, если вы в состоянии решить мою проблему.Perl - Ошибка: Не могу найти файл в @INC

Я создал модуль под названием "Messages.pm" и он находится в пути "E: \ Venkadachalam \ Perl_samples \ Modules \ Messages.pm"

Также я включил этот модуль в другой файл Perl под названием «Main .pl», как показано ниже

use Modules::Messages; 

и вызывается подпрограмма, определенный в Messaged.pm в Main.pl

в командном окне, я попытался выполнения вышеуказанной программы на языке Perl, как

perl -I E:\Venkadachalam\Perl_samples\Modules\Messages.pm Main.pl 

Здесь выдает сообщение об ошибке, как показано ниже:

"Can't locate Modules/Messages.pm in @INC (@INC contains: E:/Venkadachalam/Perl_s 
ample/Modules C:/Perl/site/lib C:/Perl/lib .) at Main.pl line 1 
BEGIN failed--compilation aborted at Main.pl line 1" 

Любая помощь высоко ценится.

+0

Ваша команда говорит 'Perl_samples' но ошибка говорит' Perl_sample'. Что он? – tripleee

+0

Его Perl_sample на обоих местах. – Venki

ответ

2

Вы говорите use Modules::Messages; и указываете на lib до E:/Venkadachalam/Perl_sample/Modules. Поэтому ожидается, что lib будет E:/Venkadachalam/Perl_sample/Modules/Modules/Messages.pm.

Изменить его E:/Venkadachalam/Perl_sample

Doc

+0

E: \ Venkadachalam \ Perl_sample \ Modules> perl -IE: \ Venkadachalam \ Perl_sample Main.p l Модули/Messages.pm не вернули истинное значение в строке Main.pl 1. BEGIN failed - компиляция отменена на Main.pl line 1. – Venki

+0

Выше это ошибка, приходящая ко мне. – Venki

+1

Тогда это другой вопрос. Вкратце, действительный модуль должен иметь '1;' в конце. Собственно, все это задокументировано и чрезвычайно искажено. – tripleee

Смежные вопросы