我尝试向函数发送参数然后在该函数中加入参数以创建字符串。
我尝试的代码
method send_data(\@args) {
my $string = join('%', @args);
print $string . '\n';
}
send_data('test1', 'test2', 'test3');
我知道我可以这样做:
my @params = ('test1', 'test2', 'test3');
send_data(\@params);
但我更喜欢第一种方法。没有Method::Signatures
你会这样做:
sub send_data {
my (@args) = @_;
my $string = join('%', @args);
print $string . '\n';
}
send_data('test1', 'test2', 'test3');
帮助?
答案 0 :(得分:2)
使用Method::Signatures
,如果您使用method
,则第一个参数将作为隐式$self
变量使用,只留下@args
中的其余参数。
由于此函数不属于某个类,因此您应该使用func
而不是method
,在这种特殊情况下,不需要\
:
func send_data(@args) {
my $string = join('%', @args);
print $string . '\n';
}
send_data('test1', 'test2', 'test3');
注意:这也会打印文字字符串\n
- 如果你想要一个实际的换行符,你必须用\n
括起来用双引号而不是单引号。