Yevgen
Дата: 25.07.2006 18:14:55
Проблема тривиальная, но плохо документированная. Прошу подсказки.
Имею определенную структуру каталогов для одного тулза. Например, такую:
С:\tool\
|--> api\
|--> tools\
|--> folder\
|--> server\
|--> docs\
......
Имею главный скрипт, например, main_script.pl, полный путь к которому - C:\tool\api\tools\main_script.pl. Имею какой-то пакетный файл, содержащий класс support_class, который используется в main_script.pl. Полный путь к пакетному файлу - C:\tool\api\tools\folder\support_class.pm.
Например, пусть исходный код для этих двух описанных выше файлов будет иметь следующий вид:
main_script.pl
---------------------------------------------------
#!/usr/bin/perl -w
use strict;
use support_class;
my $sc = support_class->new();
$sc->test();
support_class.pm
---------------------------------------------------
package support_class;
sub new {
my $classname=shift;
my $self={};
bless($self,$classname);
$self->{nif}=0;
return $self;
}
sub test {
my $self=shift;
print "Hello\n";
return 1;
}
return 1;
Итак, исходные ясны. Проблема заключается в том, что находясь эти два файла в одном каталоге, интерпретатор Perl'а без проблем находит support_class.pm, но так как они разбросаны по дереву какталогов, то Perl не может найти его соответственно. Каким образом можно указать Perl'овскому интерпретатору, что пакет support_class находится в C:\tool\api\tools\folder\. И, если такое возможно, то можно указать этот путь относительно директории C:\tool\api\tools\ (т.е. относительно той директории, откуда запускается основной скрипт main_script.pl). Например, "./folder".
Заранее спасибо!