分页: 1 / 1

关于perl中的sort

发表于 : 2015-05-25 2:49
喜欢散步
最近迷上了perl, 想学习一下, 但是资料很少啊, 刚开始学, 写了个程序, 有点问题, 想请教一下。

代码: 全选

  1 #!/usr/bin/perl -w
  2 #reverse 反序一个数组或列表
  3 #sort 排序数组
  4 #注意,这两个函数并不会修改原数组, 要得到调整后的数,请另保存
  5 
  6 @test = qw/user root localhost password etc passwd/;
  7 print "@test\n";
  8 #my @a = sort @test;
  9 #print "@a\n";
 10 print sort @test, "\n";
 11 print "@test\n";
~                      
以上的代码输出如下:

代码: 全选

user root localhost password etc passwd

etclocalhostpasswdpasswordrootuseruser root localhost password etc passwd
怎么回事?不是输出sort @test之后打印空格吗, 上面的输出是怎么解?
是不是print sort @test, "\n";这个语句, perl解释成了print (sort (@test, "\n")), 也就是排序@test与"\n"符?
如果是的话, 那我要在同一行先打印sort @test再输出换行, 要怎么写?
不知以后有perl提问去哪里问好啊。有没有建义?

Re: 关于perl中的sort

发表于 : 2015-05-25 9:55
HuntXu
喜欢散步 写了: 是不是print sort @test, "\n";这个语句, perl解释成了print (sort (@test, "\n")), 也就是排序@test与"\n"符?
如果是的话, 那我要在同一行先打印sort @test再输出换行, 要怎么写?
是,要打印再换行,就用括号

代码: 全选

print ((sort @test), "\n");
要好看点就

代码: 全选

print ((join ' ', sort @test), "\n");