【发布时间】:2012-09-03 15:28:11
【问题描述】:
我需要编写一个脚本来查看文件并用普通括号替换任何大括号。到目前为止我有:
use strict;
use warnings;
open(INFILE,"<rscore") || die "Couldn't open rscore for reading!\n";
open(OUTFILE,">rscore.new") || die "Couldn't open rscore.new for writing!\n";
while(<INFILE>){
$_ =~ s/{/(/gi; #g for every occurrence, i for case-insensitive
print OUTFILE $_;
}
close INFILE;
close OUTFILE;
rename("rscore.new","rscore") || die "Couldn't rename the new file!\n";
并得到以下错误:
syntax error near line 10 near insensitive print.
这可能是愚蠢的。此外,如果有更有效的方法来做到这一点(我确信有),我愿意接受建议。
【问题讨论】:
-
你需要用 \ 来转义你的左括号。
-
您的语法错误似乎是由注释中的换行符引起的,导致“不区分大小写”被拆分,“不区分大小写”最终出现在
print上方的未注释行上。这可能是由于使用了不适合编写代码的编辑器。 -
孤独的牧羊人:不,你没有; ( 替换部分没有什么特别的