代码之家  ›  专栏  ›  技术社区  ›  rodee

带分隔符的连接字符串

  •  1
  • rodee  · 技术社区  · 9 年前
    $ ls /tmp/foo/
    foo10.txt  foo11.txt  foo15.txt
    
    $ cat ./foo.pl 
    use warnings;
    use strict;
    use Cwd;
    my $dir = cwd();
    chdir '/tmp/foo';
    my @files = glob "foo*.txt";
    my $b = "";
    for (0..$#files) {
      my ($a) = $files[$_] =~ m/foo(.*)\.txt/;
      $b = $b.",".$a;
    }
    chdir $dir;
    print "$b\n";
    

    输出:

    $ perl ./foo.pl 
    ,10,11,15
    

    我如何避免第一个逗号,就在10之前?另外,请建议是否有比这更好的逻辑。

    1 回复  |  直到 9 年前
        1
  •  1
  •   zdim    9 年前
    say join ', ', map { /foo(.*)\.txt/ } glob "foo*.txt";
    

    首先构建列表/数组,然后使用 join .