Snippets

sironekotoro Perl入学式 2018 第4回 練習問題 love_food.pl

Created by sironekotoro
#!/usr/bin/env perl
use strict;
use warnings;

# Perl入学式 2018 第4回 練習問題
# https://github.com/perl-entrance-org/workshop-2018/blob/master/4th/slide.md
# 練習問題(love_food.pl)

my $words_ref = [
    'alice loves meat!',
    'bob loves sushi!',
];

# このような配列のリファレンスを受け取り,
# リファレンスに格納された文字列について,
# 「loves」の後に記述されている好きな食べ物の単語を
# 正規表現で取得し,
# 「alice -> meat」, 「bob -> sushi」のように
# 表示するサブルーチン, love_foodを書いてみよう.

love_food($words_ref);

sub love_food {

    # 引数を取得する
    my $word_ref = shift @_;

    # 配列リファレンスをデリファレンスして配列にする
    my @array = @{$word_ref};

    for my $line (@array) {
        # 名前と食べ物がマッチする正規表現を書く
        $line =~ /(.+) loves (.+)/;
        print $1 . " -> " . $2, "\n";
    }
}

Comments (0)