Perl入門   No.18


4.11 サブルーチン
 
Perlにも他の言語と同じく、よく使う機能は一つにまとめて、その都度呼び出すというルーチン化する機能があります。
書式は、
sub サブルーチン名{
   処理;
  }

& サブルーチン名(引数);
do サブルーチン名(引数);
 
となります。次のようなプログラムを作って、実際に試してみましょう。
#!/usr/bin/perl

sub keisan{
   $plus = @_[0] + @_[1];
   print $plus."\n";
   }

&keisan(2,3);
&keisan(5,6);
 
4.11.1 サブルーチン中の変数定義
 
Perlは、他の言語と違って変数宣言がいらないと言いましたが、いらないだけに基本的には使われる変数はプログラム全体でその価が変化しないグローバル変数になります。Perlで使われる変数で、グローバルでない変数の用い方が前にありましたね。そうforeach文の中で展開する変数はその中だけ有効でした。同様にサブルーチンの中で用いる変数もその中でのみ価を持つ方が使いやすくなります。そのような変数をローカル変数といいますが、それには最初に定義する必要があります。
#!/usr/bin/perl

sub program_name{
   local $program = "Perl";
  print "$program は、プログラミング言語です。";
  }

$program = "Pascal";
print "$program は、プログラミング言語です。";

&program_name($program);

print "$program は、プログラミング言語です。";
 
local という部分をはずしてどこが違うか確かめてみてください。