请教同道高人

请教同道高人

请教同道高人
关于 .= 的。
如 $clone_infor{$1} .= $tmp; 会将$tmp中的string 连接 到$clone_infor{$1}中的string后,再指派给$clone_infor{$1}的

但执行了上述的语句后 $tmp 不是 连接 而是 替换 了$clone_infor{$1}中的值。
下面是我在运行:
perl -d sicript options parameters
的时候所看到的。

请教一下同道高人,我该怎么解决。





main::(choose_appropriate_HSP_according_to_the_matched_results.pl:73):
73: $clone_infor{$1} .= $tmp;
DB<2> p $1
OSIZBa0043M05
DB<3> p $clone_infor{'OSIZBa0043M05'}
1023464-1255761::33855393..33855925::33886937..33886778
DB<4> p $tmp
:::1023465-1255759::5003014..5003204::33887503..33886948
DB<5> n
main::(choose_appropriate_HSP_according_to_the_matched_results.pl:67):
67: my @tmp_array = split (/::/, $value);
DB<5> p $clone_infor{'OSIZBa0043M05'}
:::1023465-1255759::5003014..5003204::33887503..33886948
找到问题了,可能是我数据.
找到问题了,可能是我数据文件编码有问题

找到问题所在解决了

比如说,如果$clone_infor{$1} 后面多了/r字符,就可能会这样啊

用 chop 处理 去掉最后一个字符就解决了

谢谢同道中人的点击