<Perlにおけるサブルーチン>
サブルーチンtestroutineを定義し、使用するコード。
subの後に名前を続け、{}で括って実行文を記述する。
1行目は定義したtestroutineを呼び出すコード。
サブルーチン名の頭に"&"をつける。つけなくても良いが、つけた方が無難。
サブルーチンに渡す引数は、Cのように必ず明示的に指定する必要はない。
この例のように指定しなかった場合、特殊配列@_の中身が引数としてサブルーチンに渡される。
ここを正確に言うと、サブルーチン呼出元の@_に、
サブルーチン内部からアクセスできるようになる。
従ってこの場合、サブルーチン側で@_の中身を変更すると、それがサブルーチン呼出元に反映されてしまう(同じものであるから)。
渡す引数を明示的に指定する場合は、Cのように
これまでの話はスカラー変数を渡す場合の話。
配列やハッシュ変数を渡す場合は、リファレンス化したものを渡すのが良い。型グロブでもいいけど俺は使ったことが無いのでパス。
次は戻り値の話。
Cのようにreturnをつける必要はない。その場合、サブルーチン内で最後に評価された式の値になる。
意外なものが値を返したりするので、ちゃんとreturnをつけるのがやっぱり無難。その時は次のようにする:
accend->Perl->labnote->index page