初めてのperl 第9章 正規表現によるテキスト処理 練習問題2

テキストファイルを元に修正を加えたコピーを作成してください。コピーされたファイルではfred(大文字小文字区別なし)をすべてLarryに書き換えてください。出力ファイルの名前は、入力ファイル名に適応した.outで終わる名前にしてください。

#!/usr/bin/perl

use strict;
use warnings;

use 5.010;

$^I = ".out";

while(<>){
  chomp;
  if($_ =~ s/fred/Larry/gi){
    print $_ . "\n";
  }
}

引数として渡す入力ファイル(names)の内容は以下の通りです。

fredFRedFRED
FREDFRED
fredfred
fred and Fred

実行コマンド配下のとおりです。

$ ./practice2.pl names

上記のコマンドを実行した際には、新しいファイル「names.out」という名前のファイルが作成され、元のファイルの内容をコピーします。

-rw-r--r--  1 vagrant  vagrant     70  1月  8 01:33 names
-rw-r--r--  1 vagrant  vagrant     61  1月  8 01:33 names.out

namesの内容は以下の通りです。

LarryLarryLarry
LarryLarry
LarryLarry
Larry and Larry

names.outの内容は以下の通りです。

fredFRedFRED
FREDFRED
fredfred
fred and Fred