请问perl如何解决^M的问题

请问perl如何解决^M的问题

用vi编辑文件如下:
LA123442       10.24.102.66    ^M    0     4     2^M
la2323232       10.24.102.66    ^M    0     5    2^M
LA8926232      10.24.102.66    ^M    0     6     2^M

而用more 命令查看,则显示为:
    0     4     20.24.102.66   
    0     5     20.24.102.66   
    0     6     20.24.102.66
由上面的现象,^M是表示回车,所以导致在执行more的时候,和vi时不一样,请问如何将^M通过字符串替换的方式或者其他方式去掉?
我在vi里,执行s/^M//,不能成功。
请问:^M、\r、\n这三个参数的不同?

请高手赐教!!
vi命令
:%s/^M//g

^M是Ctrl v + Ctrl m
dos2unix转换一下也行,Windows的罗嗦。\r就是^M就是回车CARRIAGE RETURN
perl的作法..
$s =~s/[\r\n]//;
or
$s =~s/[\015\012]//;

任选一种..
或$/ = "\015\012";
chomp $s;
$/="\n";
谢谢大家,特别感谢apile大侠,你给的方法很有效,在我编写expect的程序中给了很大的帮助,非常感谢!

祝 春节愉快!!工作顺利!!!
use IO::Socket qw (:crlf);
$/ = CRLF;
chomp