「初めてのPerl」 第十七章
第十七章から。
「初めてのPerl」は今回で終了。
第十七章 上級テクニック
内容
用語集
用語 | 説明 |
---|---|
リャマ本 | 「初めてのPerl」。入門に是非。 |
アルパカ本 | 「続・初めてのPerl」。次はこの本。 |
ビクーニャ本 | 「マスタリングPerl」。慣れたらこの本。 |
Point
配列スライスとハッシュスライス
# 配列から特定要素を一気に取得するのに、配列スライスが便利 my @all_numbers = qw/ zero one two three four five /; # これで @numbers には zero, two, five が入る my @numbers = @all_numbers[0, 2, -1]; # ハッシュにもハッシュスライスと呼ばれる記法が存在する my %all_numbers = ( zero => 0, one => 1, two => 2, three => 3, four => 4, five => 5, ); # これで @numbers には 0, 2, 5 が入る my @numbers = @all_numbers{qw/ zero two five/};
例外処理
# 例外が発生するであろうコードをevalで囲むことで例外処理を行う my $result = eval{ 10 / 0 }; # 0で割っちゃった # この場合、$resultには undef が入り、特殊変数 $@ にエラーメッセージが入る # ただ、CPAN には Try::Tiny という try/catch構文が使えるモジュールがある # 基本はそっちを使っておけばとりあえずOK
grep演算子とmap演算子
# grep演算子を使えば、リストから条件に合う要素を抽出できる my @result = grep { $_ % 2 } 1..1000; # これで1から1000のリストから偶数のみが抽出されてる # map演算子は、リストの要素を変換することが出来る my @result = map { $_ * 2 } 1..1000; # これで1から1000のリストの要素を2倍した結果が得られる
リストユーティリティ
# リスト処理に便利なモジュールが標準で付いている use List::Util; # 色んなリスト処理が出来るようになる use List::Util qw/sum max shuffle/; my $sum = sum( 1..1000 ); my $max = max( 1, 5, 9, 2, 7 ); my @shuffled = shuffle( 1..1000 ); # さらなるリスト処理を求めるなら CPAN には List::MoreUtils というモジュールがある