シェル/スクリプト言語お勉強備忘録
Perlを勉強しようPerlを勉強しようPerlを勉強しようPerlを勉強しようPerlを勉強しようPerlを勉強しようPerlを勉強しようPerlを勉強しようPerlを勉強しようPerlを勉強しようPerlを勉強しようPerlを勉強しようPerlを勉強しようPerlを勉強しようPerlを勉強しようPerlを勉強しようPerlを勉強しようPerlを勉強しようPerlを勉強しようPerlを勉強しようPerlを勉強しようPerlを勉強しようPerlを勉強しようPerlを勉強しようPerlを勉強しようPerlを勉強しようPerlを勉強しようPerlを勉強しようPerlを勉強しようPerlを勉強しようPerlを勉強しようPerlを勉強しようPerlを勉強しようPerlを勉強しようPerlを勉強しようPerlを勉強しようPerlを勉強しようPerlを勉強しようPerlを勉強しようPerlを勉強しようPerlを勉強しようPerlを勉強しようPerlを勉強しようPerlを勉強しようPerlを勉強しようPerlを勉強しようPerlを勉強しようPerlを勉強しようPerlを勉強しようPerlを勉強しよう

3−6.関数

関数を定義できることは大きな利点が沢山あります。プログラムはすっきりと見やすくなりますし、デバッグなどもしやすくなります。また、機能に応じてモジュール化を図ることができるのも利点の1つといえます。

関数の実行はプログラム中に下記の様に表記することで実行されます
 &func
実際は関数名の前に「&」をつけます。

それでは実際に関数を作る方法を見てみましょう
sub 関数名 {
  命令1;
  命令2;
  命令3;
   :
   :
}
上記のようにすれば簡単に関数を作ることができます。
次に関数のあるプログラムを作ると問題となってくる項目があります。
・戻り値
・引数
・グローバル変数とローカル変数
それぞれについて見ていきましょう

■戻り値

戻り値はサブルーチン(関数)の中で最後に評価された値になります。
例えば
sub func {
  $a = 1;
  $b = 2;
  $c = $a + $b;
}
この場合、サブルーチンfuncの戻り値は「3」を常に返すことになります

■引数

関数に引数を持たせるには
 &func("aaa","bbb");
第一引数として「aaa」が第二引数として「bbb」が関数func内に引き継がれます。
また関数内で引数を参照するには「@_」という特別な配列に入ります。
プログラム例を紹介します
#!/bin/perl
$foo = "111";
$goo = "222";
$hoo = "333";
&func($foo,$goo,$hoo);

sub func {
  local($joo,$koo,$poo) = @_
  print "$joo $koo $poo\n";
}

■グローバル変数とローカル変数

これについては次の章をご覧ください。


戻る
Perlを勉強しよう