加入参数 - Perl

时间:2015-03-19 08:44:44

标签: perl

我尝试向函数发送参数然后在该函数中加入参数以创建字符串。

我尝试的代码

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');

帮助?

1 个答案:

答案 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括起来用双引号而不是单引号。