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

今までに作成したプログラムファイルにコピーライトを表示させるプログラムです。ファイルの#!行の直後に挿入されます。

#!/usr/bin/perl

use warnings;
use strict;
use 5.010;

$^I = ".bak";

while(<>){
  if ($_ =~ m/^#!/) {
     $_ .= "##Copyright (C) 2014 by YoursTruly\n";
  }
    print;

=pod

  if($_ =~ m/^#!/o){
    if ($_ =~ s/^\n/##Copylight (C) 2014 YoursTruly/){
      print;
    }
  }
=cut
}

実行コマンドは以下の通りとなります。

$ ./practice4.pl test

渡しているtestファイルには先頭行に「#!/usr/bin/perl」が記載されています。

#!/usr/bin/perl


my $test = "Hello";
print $test;

結果は以下の通りです。

#!/usr/bin/perl
##Copyright (C) 2014 by YoursTruly


my $test = "Hello";
print $test;