Perlゼミ はてなブログ出張所

Perlゼミのはてな出張所。Perlの新着情報、Perlイベントなどの紹介

2019年6月15日 Perl入学式 東京 第三回 レポート

本日は雨模様。

講義資料が少し変わったらしく。

前回の復習と、正規表現のようです。

最初の自己紹介で、直近の仕事で、正規表現を活用した例を話しました。

正規表現で、日々の作業を楽にしていきましょう。

四則演算の復習 13:20

前回の復習です。

簡単な四則演算の演習問題。

github.com

  • 最初は簡単な足し算・引き算・掛け算・割り算
  • 150秒は、何分何秒なのかを求める問題
  • 二乗、三乗を計算して、引き算する問題。答えが0になればOK。

文字列連結の復習 13:50

  • P e r l を別々の変数に入れて結合して表示
  • 西暦を昭和に変換するスクリプトを作成

標準入力の復習 14:30

  • ターミナルから入力して表示

if文とfor文の復習 14:40

Fizz,Bazzを表示する。

3で割り切れたらFizz

5で割り切れたらBuzz

3でも5でも割り切れたらFizzBuzz

3でも5でも割り切れないならその数字。

正規表現 15:10

Perlが得意な正規表現についてのスライド。

重要な正規表現のほとんどの機能を紹介。ちょいと、長丁場。

日本語を正しく扱う方法がPerl入学式では扱われないので、サンプルを書いておこう。

ソースコードの中で、日本語文字列を正しく使うには、use utf8して、UTF-8で保存。


use strict;
use warnings;
use utf8;

my $name = "Perlゼミ";

if ($name =~ /ゼミ/) {
print "OK";
}

日本語の扱いは、詳しくは

tutorial.perlzemi.com

正規表現の最長マッチと最短マッチ 16:10

正規表現は、一番長くマッチする。マッチさせたくないときは「+?」のように量指定子の後ろに「?」を付ける。

これは、ん、ん、となるので、知っておきたいね。

正規表現による置換 16:40

先ほど学んだ正規表現のパターンマッチを使って、置換をする。


$str = "foo";
$str =~ s/fo/ba/;

正規表現のメタ文字 16:50

正規表現のメタ文字をいくつか学ぶ。

「$2」は、すでに存在しているか?

$2は、グローバル変数で、最初から準備されている変数。

正規表現のオプション 17:10

  • gで全部置換
  • iで大文字小文字区別しない

gはよく使うので、覚えておくと便利だね。

正規表現の演習問題 17:30

ラストスパート。20分で正規表現の演習問題を解く。

  • 標準入力から受け取って、マッチング
  • 文字列がperlないしPerlを含む場合, 「Find Perl!」と表示する
  • 文字列の先頭にpapixがある場合, 「Find papix!」と表示する
  • 文字列にHelloが含まれる場合, その後に続く単語xxxxを使って「Hello! xxxx!」と表示する

参考

tutorial.perlzemi.com

お疲れさまでした 18:10

第三回終了。次回は、リファレンス。

長丁場お疲れさまでした。

懇親会 ピザ会 18:20

懇親会 ピザ会です。おいしくピザを食べましょう。