開発環境
- OS X Lion - Apple(OS)
- TextWrangler(Text Editor) (BBEditの機能制限無料版、light版)
- Script言語:Perl
『初めてのPerl 第6版』(Randal L. Schwartz, Tom Phoenix, brian d foy 共著、近藤 嘉雪 訳、オライリー・ジャパン、2012年、ISBN978-4-87311-567-2) の9章(正規表現によるテキスト処理)、9.6(練習問題)4を解いてみる。
その他参考書籍
4.
コード(TextWrangler)
sample.pl
#!/usr/bin/env perl use strict; use warnings; use utf8; use 5.016; binmode STDIN, ':utf8'; binmode STDOUT, ':utf8'; my %files; for(@ARGV){ $files{$_} = 1; } while(<>){ delete $files{$ARGV} if /^## Copyright/; } @ARGV = keys %files; $^I = ".bak"; while(<>){ if(/^#!/){ $_ .= "## Copyright (C) 2012 by kamimura\n"; } print $_; }
入出力結果(Terminal)
$ ls *.bak ls: *.bak: No such file or directory $ ./sample.pl sample.pl $ cat sample.pl.bak sample.pl #!/usr/bin/env perl use strict; use warnings; use utf8; use 5.016; binmode STDIN, ':utf8'; binmode STDOUT, ':utf8'; my %files; for(@ARGV){ $files{$_} = 1; } while(<>){ delete $files{$ARGV} if /^## Copyright/; } @ARGV = keys %files; $^I = ".bak"; while(<>){ if(/^#!/){ $_ .= "## Copyright (C) 2012 by kamimura\n"; } print $_; } #!/usr/bin/env perl ## Copyright (C) 2012 by kamimura use strict; use warnings; use utf8; use 5.016; binmode STDIN, ':utf8'; binmode STDOUT, ':utf8'; my %files; for(@ARGV){ $files{$_} = 1; } while(<>){ delete $files{$ARGV} if /^## Copyright/; } @ARGV = keys %files; $^I = ".bak"; while(<>){ if(/^#!/){ $_ .= "## Copyright (C) 2012 by kamimura\n"; } print $_; } $ ./sample.pl sample.pl $ cat sample.pl #!/usr/bin/env perl ## Copyright (C) 2012 by kamimura use strict; use warnings; use utf8; use 5.016; binmode STDIN, ':utf8'; binmode STDOUT, ':utf8'; my %files; for(@ARGV){ $files{$_} = 1; } while(<>){ delete $files{$ARGV} if /^## Copyright/; } @ARGV = keys %files; $^I = ".bak"; while(<>){ if(/^#!/){ $_ .= "## Copyright (C) 2012 by kamimura\n"; } print $_; }
0 コメント:
コメントを投稿