gpt4 book ai didi

perl - 在使用 perl 包时将参数传递给它

转载 作者:行者123 更新时间:2023-12-04 18:39:01 25 4
gpt4 key购买 nike

如何在使用包时传递一些参数,例如:

use Test::More tests => 21;   

我无法找到有关此功能的任何有值(value)的文档。传递这样的论点有什么利弊吗?

最佳答案

use My::Module LIST 做两件事:1)它 require 小号 My::Module ;和 2) 调用 My::Module->import(LIST) .

因此,您可以编写模块的 import例程以任何您想要的方式处理传递的参数列表。如果您确实正在编写一个不向调用者的命名空间导出任何内容的面向对象的模块,这将变得更加容易。

这是一个毫无意义的例子:

package Ex;

use strict;
use warnings;

{
my $hello = 'Hello';
sub import {
my $self = shift;
my $lang = shift || 'English';
if ($lang eq 'Turkish') {
$hello = 'Merhaba';
}
else {
$hello = 'Hello';
}
return;
}

sub say_hello {
my $self = shift;
my $name = shift;

print "$hello $name!\n";
return;
}
}

__PACKAGE__;
__END__

以及使用它的脚本:
#!/usr/bin/env perl

use strict;
use warnings;

use Ex 'Turkish';
Ex->say_hello('Perl');

Ex->import;
Ex->say_hello('Perl');

输出:

$ ./imp.pl
梅尔哈巴 Perl!
你好 Perl!

关于perl - 在使用 perl 包时将参数传递给它,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30666896/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com