本日からパターンマッチに突入。
まずはシンプルなマッチ演算子から。
# マッチ演算子 while (<>) { if (/9/) { print "正解: $_" } else { print "不正解: $_"; } }
これをオプションをつけて実行すると以下のようなかんじ。
E:?Perl>perl match1.pl Windows.dat
不正解: Windows 3.1
不正解: Windows NT3.5
正解: Windows 95
不正解: Windows NT4
正解: Windows 98
不正解: Windows 2000
不正解: Windows Me
不正解: Windows XP
不正解: Windows Vista
※複数のブロックがあるので分かりやすいようタブで識別する
つづいてパターン結合演算子。
# パターン結合演算子 @data = ('Perl', 'PERL', 'perl', 'PHP', 'Java', 'Ruby'); foreach $name (@data) { if ($name =~ /Perl/) { print "正解: $name?n"; } elsif ($name =~ /Perl/i) { print "正解だけど大文字小文字を確認: $name?n"; } else { print "不正解: $name?n"; } }
これを実行するとこんなかんじ。
E:?Perl>perl match3.pl
正解: Perl
正解だけど大文字小文字を確認: PERL
正解だけど大文字小文字を確認: perl
不正解: PHP
不正解: Java
不正解: Ruby
なるほど。簡単だな。
ちょっと短いけど今日はここまでー。