作者corny (玉咪)
看板Perl
标题Re: [问题] 两档案资料合并
时间Mon Mar 22 09:39:17 2010
※ 引述《giacch (小a)》之铭言:
: #!/usr/bin/perl
: open(READ, 'b.txt') or die "b.txt: $!\n";
: @TMP=<READ>;
: close(READ);
: foreach(@TMP) {
: chomp;
: $DATA{join(':',$f1,$f2,$f3)}=$_
: if( ($f1,$f2,$f3,undef,undef)=split(/ /) );
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
: }
: open(READ, 'a.txt') or die "a.txt: $!\n";
: @TMP=<READ>;
: close(READ);
: foreach(@TMP) {
: chomp;
: printf("%s %s\n", $_, $DATA{join(':',$f1,$f3,$f4)})
: if( ($f1,undef,$f3,$f4,undef)=split(/ /) );
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
: }
: 以上可以跑范例...
非常感谢!!
请问一下上面两个判断式是什麽意思
他们之间的关系是怎麽比较的
b.txt 不是只有四栏吗~还是那是为了跟 a.txt 的栏位做对应
如果後面还有很多栏位有其它写法吗?还是只能一直加 undef
如果我要判断第一栏的大小关系该怎麽做呢
就是在 b.txt 中可能不只找到一笔
而我要 b($1) >= a($1), b($2)==a($3), b($3)==a($4) 的第一笔就好
我是先用 shell script 先将 b.txt 内容上下颠倒就可以达到这样的效果
※ 编辑: corny 来自: 140.112.50.156 (03/22 10:56)