Perl:在脚本中包含/嵌入模块
我有一个脚本,它使用我从CPAN编写的一个模块的子类来表示。理想情况下,我希望将两者放在同一个文件中,因为子类模块中没有太多代码。扩展子类模块以包含脚本代码或将脚本转换为模块都没有意义。我应该如何在脚本中包含模块代码?您可以做以下操作,命名要包含的“模块”Perl:在脚本中包含/嵌入模块,perl,module,Perl,Module,我有一个脚本,它使用我从CPAN编写的一个模块的子类来表示。理想情况下,我希望将两者放在同一个文件中,因为子类模块中没有太多代码。扩展子类模块以包含脚本代码或将脚本转换为模块都没有意义。我应该如何在脚本中包含模块代码?您可以做以下操作,命名要包含的“模块”core.pm或类似的内容。然后将它放在与另一个脚本相同的目录中,并放在脚本putrequire core中,这应该可以工作。一般来说,请查看使用和要求,这两种方法可以帮助您以某种方式实现所需的功能。在一个文件中包含多个程序包没有问题 pack
core.pm
或类似的内容。然后将它放在与另一个脚本相同的目录中,并放在脚本putrequire core中代码>,这应该可以工作。一般来说,请查看使用和要求,这两种方法可以帮助您以某种方式实现所需的功能。在一个文件中包含多个程序包没有问题
package Foo;
sub new {
print "Foo::new\n";
}
package main;
new Foo;
这是目前的安排,;我将模块和脚本放在同一个目录中。不过,我希望它们在同一个文件中,因为模块代码很短。哦,我没有完全得到你的答案。那么看看上面罗曼的答案。你可以把包放在脚本中……我犯了一个错误,没有从“main”包中删除“use-Foo”声明。谢谢这里没有,但是在Foo
中声明的词法变量(my…;
和our…;
)将在main
中可见。如果不希望这样,请用大括号将包括起来:{package Foo;…}
my()用于词汇变量。我们的()用于包变量,尽管它的效果是词法的。另外值得注意的是,package
可以限制为词法块。因此,您可以在包“main”中执行{package Foo;sub bar{'blah'}}#返回代码>