ディレクトリの中の全てのファイルの中身を一気に置換する

perl02

 

特定ディレクトリの中にあるすべてのファイルの中身を一気に置換するPerlスクリプト。

my @files = glob "data/*.cgi";

foreach $line (@files){
  &replacement($line, $keyword, $replaced_word);
}


sub replacement{
  my ($file, $keyword, $replaced_word) = @_;

  open(IN, "< $file");
  read (IN, $buf, (-s "$file"));
  $Temp_data = $buf;
  close IN;

  $Temp_data =~ s/$keyword/$replaced_word/g;
  open(DC,">$file");	print (DC $Temp_data);	close(DC);
}