無名サブルーチンを作って実行する

◎お題
無名サブルーチンを、引数のいらないものといるものの2パターン作り、それぞれを実行して実行結果を出力する。

#! /usr/bin/perl

use strict;
use warnings;

my $studyB=sub{
    my ($katei, $takasa, $jyoutei) = @_; 
    my $menseki = ( $katei + $jyoutei ) * $takasa / 2;

    return $menseki;
};

my $studyA=sub{
    print "I go to bed at 22 o'clock.\n";
    print "so, see you tomorrow.\n"
};

print $studyB->(5, 2, 5),"\n";
$studyA->();

◎ポイント
無名サブルーチンを作るときは、「$スカラー変数名=sub{};」で作る。特に最後の「;」を付け忘れると痛いことになる。


無名サブルーチンを使うと、いちいちサブルーチンのリファレンスをスカラー変数に代入せずに実行することができます。便利だ。