2013年3月18日月曜日

開発環境

『初めてのPerl 第6版』(Randal L. Schwartz, Tom Phoenix, brian d foy 共著、近藤 嘉雪 訳、オライリー・ジャパン、2012年、ISBN978-4-87311-567-2)の8章(正規表現によるマッチ)、8.10(練習問題)5を解いてみる。

その他参考書籍

5.

コード(BBEdit)

sample.pl

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

my $label = "word";
while (<>) {
    chomp;
    if (/\b(?<$label>\w*a)\b(?<label>.{0,5})/) {
        print "Matched: |$`<$&>$'|\n";
        print "'$label' contains '$+{$label}'\n";
        print "$+{label}\n";
    } else {
        print "No match: |$_|\n";
    }
}

入出力結果(Terminal)

$ ./sample.pl test.txt
No match: |A|
Matched: |<a>|
'word' contains 'a'

Matched: |<kamimura's bl>og|
'word' contains 'kamimura'
's bl
Matched: |http://<sitekamimura.blog>spot.com|
'word' contains 'sitekamimura'
.blog
No match: |KMI|
Matched: |http://www.<mkamimura.com >  |
'word' contains 'mkamimura'
.com 
No match: |Fred|
No match: |FRED|
No match: |fred|
No match: |frederick|
No match: |Alfred|
No match: |fred flintstone|
No match: |Mr. Slate     |
No match: |Mississippi|
No match: |Bamm-Bamm    |
Matched: |<wilama>|
'word' contains 'wilama'

No match: |barney|
Matched: |<wilma and >fred|
'word' contains 'wilma'
 and 
Matched: |fred and <wilma>|
'word' contains 'wilma'

Matched: |<Wilma and >Fred      |
'word' contains 'Wilma'
 and 
Matched: |Fred and <Wilma>|
'word' contains 'Wilma'

Matched: |<wilma&fred>|
'word' contains 'wilma'
&fred
Matched: |Mrs. <Wilma Flin>tstone   |
'word' contains 'Wilma'
 Flin
Matched: |I saw <Wilma yest>erday|
'word' contains 'Wilma'
 yest
Matched: |I, <Wilma!>|
'word' contains 'Wilma'
!
No match: |Z|
Matched: |<llama>|
'word' contains 'llama'

$

0 コメント:

コメントを投稿