作者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)
1F:→ frank1983:应该是换行字元的问题,请先用 binmode 将 file handle 07/28 00:05
2F:→ frank1983:转成 binary mode, 请参考 07/28 00:06