如何调用我在同一个文件中定义的Perl包?

我需要定义一些模块并将它们全部用在同一个文件中。不,我不能改变要求。

我想做一些类似如下的事情:

{
    package FooObj;

    sub new { ... }

    sub add_data { ... }
}

{
    package BarObj;

    use FooObj;

    sub new { 
        ... 
        # BarObj "has a" FooObj
        my $self = ( myFoo => FooObj->new() );
        ...
    }

    sub some_method { ... }
}

my $bar = BarObj->new();

但是,这会导致消息:

Can’t locate FooObj.pm in @INC …
BEGIN failed…

我该如何让这个工作?

放弃使用。认真。

使用tell perl从另一个文件中读取代码,因为代码在同一个文件中,因此您不需要执行该操作。

翻译自:https://stackoverflow.com/questions/2621225/how-can-i-call-a-perl-package-i-define-in-the-same-file

转载注明原文:如何调用我在同一个文件中定义的Perl包?