+binmode( STDIN, ':utf8' ); # 標準入力をutf8として認識する
+binmode( STDOUT, ':utf8' ); # 標準出力をutf8にする
+use utf8; # ソースコードでマルチバイト文字を使う際に利用
+print 'INPUT 例)平成30年 > ';
+my $era = <STDIN>; # 標準入力から受け取り, 変数 $era に入れる
+chomp $era; # 受け取った文字列の改行を削除
+# 正規表現で「文字のパターン」から以下の情報を取り出す
+# 年号: 冒頭の2文字 最初のカッコでキャプチャするので $1 に格納される
+# 年数: 年号の後にあり、かつ末尾の「年」より手前にある数字を $2 に格納される
+ \A # \A 文字列の先頭の位置を表すアンカー記号
+ {2} # 直前のマッチ(1文字)が2回あるという量指定子
+ ( # 2回目の($2)キャプチャ開始のカッコ
+ + # 直前のマッチが1個以上あるという量指定子
+ ) # 2回目の($2)キャプチャ終了のカッコ
+ \z # 文字列の終端の位置を表すアンカー記号
+ /x; # 正規表現のデリミタと拡張正規表現オプションの x
+# $era =~ /\A(\w{2})(\d+)年\z/; # 解説抜きで1行で書く場合の正規表現。末尾のxが不要
+print '年号は「' . $era_name . "」\n"; # 平成
+print '年は' . $era_number . "\n"; # 30
+print '西暦は' . $era_number . '年' . "\n"; # 2018年