文本处理,替换成"NULL"

文本处理,替换成"NULL"

想处理一个C源文件,在用 s/pattern1/pattern2/ 这个命令时,怎么将-1替换成NULL?
s/-1/NULL/g;
s/-1/'NULL'/g;
s/-1/"NULL"/g;

以上都不行啊
gg这里是可以的
?不是把-1替换成空,是把-1替换成NULL
我是这么用的
......
while(<>)
{
    ......
    s/-1/NULL/g;
    print $_;
}
while ($line=<>) {
$line =~ s/-1/NULL/g;
print $line;
}
这样可以吗?
perl -pi -e 's/-1/NULL/g'  *.c

不过这样做似乎不妥吧。源文件中的  (a-1), -10 之类的就变成 (aNULL)、NULL0了


QUOTE:
原帖由 odacharlee 于 2008-8-28 15:14 发表
perl -pi -e 's/-1/NULL/g'  *.c

不过这样做似乎不妥吧。源文件中的  (a-1), -10 之类的就变成 (aNULL)、NULL0了

是可以的阿,楼上说都也对,还是要小心点,或者限制条件下
$line =~ s/(\W)-1(\W)/\1NULL\2/g;
这个也不行吧

楼主的意思是 -1a 也要替代的吧
$line =~ s/-1(\D)/NULL\1/g;

楼主没说明白!