如何访问perl模块中导入的变量?

时间:2018-03-31 08:22:57

标签: perl

我希望能够做到这样的事情:

use Foo::Bar $baz, qw/one two three/;

然后,在包

package Foo::Bar;

# probably do something magic here

sub do_something {
     # access $baz and 'one', 'two' and 'three' 
}

我记得在一个模块中看到它,并认为这是一件很酷的事情。现在我想自己做,而且不能再找到模块了。

我该怎么做?

1 个答案:

答案 0 :(得分:3)

为了将数据传递给模块,您需要编写自己的import子,如下例所示。

# Foo.pm
package Foo;

use Data::Dumper;

sub import {
    my $package = shift;
    my @data = @_;

    print STDERR Dumper \@data;
}

1;
# foo.pl
use Foo qw/hello world/;
$VAR1 = [
          'hello',
          'world'
        ];