- 论坛徽章:
- 18
|
谢谢您的帮助。
但是我对您的代码做了以下修改后却不能得到期望的结果。
请问是什么原因呢?
#! /usr/bin/perl
sub addnew()
{
$new="chaol jzhu039 thsiao bol xinrong";
$out=join " ",grep{!$x{$_}++}sort{$a cmp $b}(split / /,$all." ".$new);
print "all=$all\n";
print "new=$new\n";
print "out=$out\n\n";
}
$all="";
&addnew($all);
$all="ezard.lai bol romeots ntsai thsiao tosian.yang";
&addnew($all);
以下是执行结果:
[root@apaciprtac:~]# ./addnew.pl
all=
new=chaol jzhu039 thsiao bol xinrong
out= bol chaol jzhu039 thsiao xinrong
all=ezard.lai bol romeots ntsai thsiao tosian.yang
new=chaol jzhu039 thsiao bol xinrong
out=ezard.lai ntsai romeots tosian.yang
第一个all为空值的时候的结果是对的,但是第二个all不为空值时只对原值进行了排序而不但没有把gtac中的值加进去,反而把原值中含有的new元素删除了?
回复 2# yinyuemi
|
|