perl内的一个正则问题,请教

perl内的一个正则问题,请教

#!/usr/bin/perl


$str="asdfdas\cdfs\n\t\a\w";

$str =~s/\\\\/\\\\\\\\/;
print $str;

我想打印出如下:
asdfdas\\cdfs\\n\\t\\a\\w

$str =~s///;应该如何写?

谢谢
root@ubuntuServer:~# cat t.txt
\aa
\bb
\cc

root@ubuntuServer:~# sed "s:\\\\[a,b,c]:\\\\\\\\\\\\n:g" t.txt
\\\na
\\\nb
\\\nc

sed是可以的


[Copy to clipboard] [ - ]
CODE:
   s/\\/\\\\/g

注意,把$str的双引号改成单引号


QUOTE:
原帖由 perljoker 于 2007-9-30 14:22 发表
   s/\\/\\\\/g

注意,把$str的双引号改成单引号

除此之外, 如果匹配模式中有'\', '/'这样的字符, 那么换一个分隔符更加直观

比如
my $str = 'asdfdas\cdfs\n\t\a\w';

# 1-->2即可, 不必2-->4
$str =~ s@\\@\\\\@g;
#!/usr/bin/perl

$str='asdfdas\cdfs\n\t\a\w';
$str =~ s/\\/\\\\/g;
print $str;
学习了。多谢楼上几位。


QUOTE:
原帖由 阿辉 于 2007-11-23 14:15 发表
学习了。多谢楼上几位。

汗,2个月以后来看帖