使用join将per添加到perl中数组的最后一个元素

时间:2014-02-11 13:59:31

标签: perl

我有一个日期数组。我试图添加逗号到数组的元素。我正在使用加入。 我需要在最后一个元素中添加逗号。 这是我的意见 - 2020 02 20 我的输出应该是 - 2020,02,20,

这是我的代码

@date = join( ',',@date); or @date = join( map "$_,",@date );

我无法在最后一个元素上获得逗号。如果只使用加入就可以实现这一点真的很棒。

提前致谢。

4 个答案:

答案 0 :(得分:10)

尝试:

my $date = join(',', @date, '');

即。告诉join还有一个额外的元素。

注意:join的输出是单个标量字符串,而不是另一个数组,因此上面是$date

答案 1 :(得分:5)

要为作业使用正确的功能 - 您应该使用map来更改数组的所有元素,并将它们与join

连接在一起
my $date = join('', map { "$_," } @date);

答案 2 :(得分:4)

  

我正在尝试将逗号添加到数组的元素中。

$_ = "$_," for @date;

但是如果您尝试创建字符串而不是修改数组,则可以使用以下内容:

my $date = join '', map "$_,", @date;

使用以下聪明但仍然可读的方法可以加快上述步骤:

my $date = join ',', @date, '';

答案 3 :(得分:3)

要修改数组的所有元素,map是一个合适的工具:

use warnings;
use strict;

my @date = qw(2020 02 20);
@date = map "$_,", @date;

use Data::Dumper;
print Dumper(\@date);

__END__

$VAR1 = [
          '2020,',
          '02,',
          '20,'
        ];