Perl_该计划的结果不是我想要的

时间:2016-04-05 12:24:16

标签: perl

以下程序的结果是

  

1 1 1 1 1 1 1 1 1

为什么呢?它应该是一些文件名,如

test.pl

test1.pl
#!/usr/bin/perl -w
opendir Hdir,".";
my @filelist=readdir Hdir;
my @tmplist=grep {
    $tmp = (stat($_))[7];
    $tmp > 1000;
} @filelist;
my @reslist = map { s/(\S+)/    $1\n/g } @tmplist;
print "@reslist\n";

我该怎么办?

1 个答案:

答案 0 :(得分:2)

您正在查看s///运算符的返回值,而不是它更改的值。如果您有一个新的Perl,请向操作符添加/ r标志,以使其返回更改的值。如果您没有新的Perl,请在运算符后添加and $_之类的内容,以使地图表达式返回更改后的值。