(PERL) Как правильно подключить пакет с классом в Perl

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".

Заранее спасибо!
Anjey aka PM
Дата: 25.07.2006 18:39:17
support_class.pm
---------------------------------------------------
package folder::support_class;

main_script.pl
---------------------------------------------------
#!/usr/bin/perl -w
use folder::support_class;

my $sc = folder::support_class->new();
Yevgen
Дата: 25.07.2006 18:42:11
Anjey aka PM
support_class.pm
---------------------------------------------------
package folder::support_class;

main_script.pl
---------------------------------------------------
#!/usr/bin/perl -w
use folder::support_class;

my $sc = folder::support_class->new();


Спасибо! Быстро и грамотно. То, что доктор прописал. Все заработало. Еще раз спасибо!
Anjey aka PM
Дата: 25.07.2006 18:59:02
Yevgen
Быстро ....


это я просто токочто проснулся