サブルーチンに渡された引数は、すべてまとめて @_ 配列に格納されています。つまり、この中身を取得すれば引数が得られるわけです。
にしし ふぁくとりー

にししの Perl/CGI Tips ふぁくとりー

にししふぁくとりーPerl/CGI Tips → このページ

サブルーチン関連TIPS

サブルーチンに渡された引数を得る

サブルーチンに渡された引数は、すべてまとめて @_ 配列に格納されています。 ですから、引数を受け取るには、この @_ 配列の中身を見れば良いわけです。

SOURCE 1

名前が特別ですが、通常の配列と同じですので、通常の配列を扱うように扱えます。
例えば、 shift を使って、1個ずつ取り出す方法があります。
sub subroutine {
$param1 = shift @_;
$param2 = shift @_;
$param3 = shift @_;
:::
}
shiftを使えば、配列の先頭の要素から1つずつ抜き出すことができます。

SOURCE 2

1つずつ抜き出すような面倒なことをせずに、一気に全部抜き出すこともできます。
( $param1, $param2, $param3 ) = @_;
上記の場合は、引数が3つある場合です。いくつでも増やせます。必要なだけ列挙すれば良いわけです。

SOURCE 3

引数が1個しかないのなら...
$param = @_;
こういう書き方もできますね。(^^;)
2004/02/20. Fri.

このページに記載の内容は、必ずしも正しいとは限りません。ご注意下さい。
もっと良い方法がありましたら、ぜひ、教えて頂けるとありがたいです。
製作者にししへのご連絡は、メールなどでお送り下さい。匿名のコメントも送信できます。
どのページへもリンクは歓迎します。複製・転載はご遠慮下さい。