如何在数组元素之间打印'AND'?

San*_*ing 4 arrays perl

如果我有一个名称如下的数组.

如何打印"嗨乔和杰克和约翰"?

当数组中只有一个名称时,算法也应该有效.

#!/usr/bin/perl

use warnings;
use strict;

my @a = qw /joe jack john/;

my $mesg = "Hi ";

foreach my $name (@a) {

    if ($#a == 0) {
    $mesg .= $name;
    } else {
    $mesg .= " and " . $name;
    }
}

print $mesg;
Run Code Online (Sandbox Code Playgroud)

Kak*_*Bok 8

通常我们使用数组连接方法来完成此任务.这里伪代码:

@array = qw[name1 name2 name2];
print "Hey ", join(" and ", @array), ".";
Run Code Online (Sandbox Code Playgroud)