2017-06-02 11 views
0

Perlで2つの置換えをするにはどうすればよいですか?perlでのいくつかの置換

私は次のコードを使用します。私は要求されたよう

 (my $newName = $grib) =~ s/:00:00.grb//; 
     rename $grib, $newName; 

     (my $newName1 = $newName) =~ s/d01/d02/g; 
     rename $newName, $newName1; 

答えて

7

...交換するよ...私は以下の行ですべてをしたいと思います二回使用します。

(my $newName = $grib) =~ s/:00:00.grb//; rename $grib, $newName; (my $newName1 = $newName) =~ s/d01/d02/g; rename $newName, $newName1; 

しかし、それは馬鹿です。すべてを1行にまとめる理由もありません。代わりに、高品質の読み取り可能なコードを作成します。初心者の方は、一度やり直すと2回改名をやめてください! 5.14+で

my $newName = $grib; 
$newName =~ s/:00:00.grb//; 
$newName =~ s/d01/d02/g; 
rename($grib, $newName) 
    or die("Can't rename \"$grib\" to \"$newName\": $!\n"); 

、これは以下に減らすことができます。

my $newName = $grib =~ s/:00:00.grb//r =~ s/d01/d02/gr; 
rename($grib, $newName) 
    or die("Can't rename \"$grib\" to \"$newName\": $!\n"); 
関連する問題