初めてのPerl 第8章 正規表現によるマッチ 練習問題3

練習問題2を応用し、aで終わるワードを$1にキャプチャしてください。コードを書き終えて変数$1の内容をシングルクウォートで囲んで表示します。

#!/usr/bin/perl

use strict;
use warnings;

use 5.010;

while (<>) {
  chomp;
  if ($_ =~/(\b\w*a\b)/) {
    print " \$1 contains: '$1'\n";
  } else {
    print "No match: | $_ | \n";
  }
}

実行コマンドは以下の通りです。

./practice3.pl < names.txt

実行結果は以下の通りです。

No match: | fred |
 $1 contains: 'wilma'
No match: | barney |
 $1 contains: 'wilma'
 $1 contains: 'camellia'
 $1 contains: 'anna'
No match: | te |
 $1 contains: 'a'
 $1 contains: 'wilma'