看板 Perl 關於我們 聯絡資訊
我要請問個類似問題 有兩個binary檔 A.bin B.bin 我要把A.bin的第50~100bytes的內容換成B.bin檔(50Bytes)的內容 $tempB=join("",<B.bin>); $tempA=join("",<A.bin>); $lengthB=length($tempB); #50bytes substr($tempA,50,$lengthB,$tempB); print OUTPUT "$tempA"; 結果他是置換成功了 可是原本A.bin裡面的OA(16進位)前面都會多出OD(16進位) 就是說原本OA會變成ODOA 其它都很正常沒問題 所以我在print前面多加一行 $tempA=~s/0000110100001010/00001010/gm; 輸出還是一樣情形 上面那行好像沒有作用 請問有人知道是怎麼回事嗎?? 整個很詭異 或是有其他方法解決這個問題呢? -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 61.230.181.108 ※ 編輯: evelynju 來自: 61.230.181.108 (07/27 20:17) ※ 編輯: evelynju 來自: 61.230.181.108 (07/27 22:56)
frank1983:應該是換行字元的問題,請先用 binmode 將 file handle 07/28 00:05
frank1983:轉成 binary mode, 請參考 07/28 00:06