Perl:在脚本中包含/嵌入模块

i a*_*ien 3 perl module

我有一个脚本,它使用我从CPAN编写模块的子类进行演示.理想情况下,我希望将两者放在同一个文件中,因为子类模块中的代码不多.扩展子类模块以包含脚本代码或将脚本转换为模块没有意义.我应该如何在脚本中包含模块代码?

Rom*_*aka 10

在一个文件中包含多个包没有问题.

package Foo;

sub new {
    print "Foo::new\n";
}

package main;

new Foo;
Run Code Online (Sandbox Code Playgroud)

  • 并不是说这里有任何东西,但在`foo`中声明的词汇变量(`my ...;`和`our ...;`)将在`main`中可见.如果你不想要这个,用花括号包围包裹:`{package Foo; ......}` (7认同)
  • my()用于词法变量.my()用于_package_变量,但它的作用是词法. (3认同)
  • 值得注意的是,"package"可以限于词汇块.所以你可以做`{package Foo; sub bar {'blah'}}#回到包'main'这里!` (2认同)