2014年4月3日木曜日

開発環境

初めてのPerl 第6版 (Randal L. Schwartz (著)、brian d foy (著)、Tom Phoenix (著)、近藤 嘉雪 (翻訳)、オライリージャパン)、9章(正規表現によるテキスト処理)の9.6(練習問題)3.を解いてみる。

その他参考書籍

9.6(練習問題)3.

コード(BBEdit, Emacs)

sample208_3.pl

#!/usr/bin/env perl
# use diagnostics;
use strict;
use warnings;
use 5.016;
use utf8;
binmode STDIN, ':utf8';
binmode STDOUT, ':utf8';
binmode STDERR, ':utf8';

my $filename = $ARGV[0];
die "usage: <inputfile>: $!" unless defined $filename;

open my $in_fh, '<', $filename or die "can't open '$filename: $!";
open my $out_fh, '>'. "${filename}.out" or
    die "can't open '${filename}.out: $!";

while (<$in_fh>) {
    s/fred/\0/gi;
    s/wilma/Fred/gi;
    s/\0/Wilma/g;
    print $out_fh $_;
}

close $in_fh;
close $out_fh;

入出力結果(Terminal)

$ cat sample208_3.txt
A
a
kamimura's blog
http://sitekamimura.blogspot.com
KMI
http://www.mkamimura.com
frederick
Wilma
Alfred
Wilma
fred flintstone
Wilma
Wilmaerick
AlWilma
Wilma flintstone
Mr. Slate     
Mississippi
Bamm-Bamm    
wilama
barney
Fred and Wilma
Wilma and Fred
Fred and Wilma      
Wilma and Fred
Fred&Wilma
fred&wilma
Mrs. Fred Flintstone   
I saw Fred yesterday
I, Fred!
Z
llama
fred
fredfredfred
fredwilmafred
$ ./sample208_3.pl
usage: <inputfile>:  at ./sample208_3.pl line 12.
$ ./sample208_3.pl sample208_3.txt
$ cat sample208_3.txt
A
a
kamimura's blog
http://sitekamimura.blogspot.com
KMI
http://www.mkamimura.com
frederick
Wilma
Alfred
Wilma
fred flintstone
Wilma
Wilmaerick
AlWilma
Wilma flintstone
Mr. Slate     
Mississippi
Bamm-Bamm    
wilama
barney
Fred and Wilma
Wilma and Fred
Fred and Wilma      
Wilma and Fred
Fred&Wilma
fred&wilma
Mrs. Fred Flintstone   
I saw Fred yesterday
I, Fred!
Z
llama
fred
fredfredfred
fredwilmafred
$ cat sample208_3.txt.out 
A
a
kamimura's blog
http://sitekamimura.blogspot.com
KMI
http://www.mkamimura.com
Wilmaerick
Fred
AlWilma
Fred
Wilma flintstone
Fred
Frederick
AlFred
Fred flintstone
Mr. Slate     
Mississippi
Bamm-Bamm    
wilama
barney
Wilma and Fred
Fred and Wilma
Wilma and Fred      
Fred and Wilma
Wilma&Fred
Wilma&Fred
Mrs. Wilma Flintstone   
I saw Wilma yesterday
I, Wilma!
Z
llama
Wilma
WilmaWilmaWilma
WilmaFredWilma
$ 

0 コメント:

コメントを投稿