サブルーチン
サブルーチンはsubで定義します。呼び出しは&を付けます。引数は配列@_に自動的に格納されます。
myは変数名をサブルーチン内だけで有効にします。
 例 &date(3,31);
   sub date {
     my($mon,$day) = @_;
     print "今日は$mon月$day日です。";
   }

サブルーチンの結果をreturn文で返すことができます。サブルーチンの実行はreturn文で終了します。
return文がない場合はサブルーチンの最後の式の値を返します。
 例 $data = &add;
   sub add {
     $a = 1 + 2;
     return $a;
   }
■プログラム (sample4.cgi)
&date1;
&date2(3,31);
$mon = 4; $day = 1; &date3(3,31); print "明日は$mon月$day日です。<br>";
$mon = 4; $day = 1; &date4(3,31); print "明日は$mon月$day日です。<br>";
$data = &add1; print "$data<br>";
$data = &add2; print "$data<br>";
###
sub date1 {print "今日は3月31日です。<br>";}
sub date2 {print "今日は$_[0]月$_[1]日です。<br>";}
sub date3 {($mon,$day) = @_; print "今日は$mon月$day日です。";}
sub date4 {my($mon,$day) = @_; print "今日は$mon月$day日です。";}
sub add1 {$a = 1 + 2; $b = 2 + 3; return $a;}
sub add2 {$a = 1 + 2; $b = 2 + 3;}
■実行結果
今日は3月31日です。
今日は3月31日です。
今日は3月31日です。明日は3月31日です。
今日は3月31日です。明日は4月1日です。
3
5


HOME Copyright (C) CGI-design All Rights Reserved.