読者です 読者をやめる 読者になる 読者になる

ゆーすけべー日記

はてなBlogってどーなの!?

true tears で学ぶ Perl 入門

Perl
#!/usr/bin/perl
use strict; # おまじない
use warnings;
use Encode;
use utf8;

# スカラー
my $title = "true tears で学ぶ Perl 入門";

# リスト
my @names = qw(Shinichirou Noe Hiromi Aiko Nobuse);

# 標準出力
print "Dareni suru?\n";
# 関数
print join( ', ', @names ) . "\n";
# 標準入力
my $name = <STDIN>;
# 関数
chomp($name);
# エラー処理
die "眞一郎の靴の底にもあぶらむし♪\n" unless $name;
# 制御構文, grep, 正規表現
if ( grep { $_ =~ /$name/i } @names ) {
# Encodeモジュール, サブルーチンの使用
    print "$name: " . encode( 'utf8', talk($name) ) . "\n";
}
else {
    print "Chanto erande yo!\n";
}

# サブルーチン定義
sub talk {
    my $name = shift;
    # リファレンス
    my $map  = {
        Shinichirou => [ '全部ちゃんとするから', '君の涙を' ],
        Noe         => [
            '私 涙、あげちゃったから',
            'はい、ぱちぱちってして',
            'ちゃんと言って、ここに書いて',
            'なかなか飛べないね'
        ],
        Hiromi => [
            '私 何がしたいの',
            'おせっかいな男の子ってバカみたい',
            '雪が降っていない街',
            '何も見てない私の瞳から',
            'あなたが好きなのは私じゃない',
        ],
        Aiko => [
            'どうなった? こないだの話',
            'それ なんの冗談?'
        ],
        Nobuse => ['よー'],
    };
    # デリファレンス
    my @sentences = @{ $map->{$name} };
    # リスト要素の抽出
    return $sentences[ rand @sentences ];
}


初めてのPerl 第5版
posted with yusukebe.com::AmazonSearch on 2010.1.10
  • Randal L. Schwartz Tom Phoenix brian d foy
  • 大型本 / オライリージャパン
  • Amazon 売り上げランキング: 26573
Amazon.co.jpで詳細を見る

true tears vol.1 [DVD]
posted with yusukebe.com::AmazonSearch on 2010.1.10
  • DVD / バンダイビジュアル (2008-03-25)
  • Amazon 売り上げランキング: 14218
  • Amazon おすすめ度の平均: 4.5
    • 5 非常に丁寧に作られた名作
    • 5 個人的評価は5点
    • 4 雪が静かに音をたてて降る様な
    • 4 コレはっ...!
    • 5 青春と故郷を思い出す作品
Amazon.co.jpで詳細を見る