Re: [問題] 兩檔案資料合併

看板Perl作者 (玉咪)時間14年前 (2010/03/22 09:39), 編輯推噓0(000)
留言0則, 0人參與, 最新討論串5/6 (看更多)
※ 引述《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)
文章代碼(AID): #1Bfif7Kp (Perl)
討論串 (同標題文章)
文章代碼(AID): #1Bfif7Kp (Perl)