作者evelynju (now&forever)
看板Perl
標題Re: [請益] replace 可以替換指定位置的字元嗎?
時間Tue Jul 27 20:14:37 2010
我要請問個類似問題
有兩個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