サブルーチン

サブルーチンとは、処理単位で独立させ、プログラミング効率を上げる為の記述方法です。

宣言と呼び出し方法
宣言方法
sub xxx{
	…処理
}

呼び出し方法
&xxx();
# プレフィックス(&)を付けて表現しますが、省略も可能です。
# 最近では省略するのが一般的です。

サブルーチンへの引数について
引数は、サブルーチン内で@_という特殊変数に格納されます。
my $a = 'hoge';
my $b = 'pio';

xxx($a,$b); # hoge -> pio と表示されます。

sub xxx{
	my ($x,$y) = @_;
	print $x . "->" . $y . "\n";
}

結果を戻す
returnを使ってサブルーチンから値を戻すことができます。
returnを使用すると、その時点でサブルーチンの実行が終了します。
my $result = xxx(); # $result には、「hoge」が入ります。
sub xxx{
	return "hoge";
	print "hogehoge\n"; # この行は実行されない。
}

サブルーチン内で自分を呼び出すこともできます。
my $x = factorial(5); # 5! を求める。
print $x . "\n"; # 120と表示されます。
sub factorial{
	my $i = shift; # @_を省略して、@_の頭に入っている値を$iに代入。
	return $i==0?1:$i*factorial($i-1);
}

以上です。                                                >>8. リファレンス