1

ファイルを調べて中括弧を通常の括弧に置き換えるスクリプトを作成する必要があります。これまでのところ:

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.

これはおそらく愚かなことです。また、これを行うためのより効率的な方法がある場合(私はそれがあると確信しています)、私は提案を受け入れるでしょう。

4

3 に答える 3

5

これはperlのワンライナーです。

$ perl -lpe 'tr |{}|()|' <infile >outfile
于 2012-09-03T15:33:27.563 に答える
3

代わりにこれを試してください:

$string =~ tr/{}/()/;

于 2012-09-03T15:32:55.173 に答える
1

これは、ファイルをインプレース編集するためのPerlワンライナーです。

perl -pi -e 's/{/(/g;s/}/)/g' your_file

以下は、コンソールに出力を出力します

perl -p -e 's/{/(/g;s/}/)/g' your_file
于 2012-09-03T18:10:30.670 に答える