関数定義(2) 引数を受け取る

今度は引数を付けて呼び出してみます。
調べてみて驚いたのですが、Perl には仮引数(渡された引数に関数側で名前をつける機構)は存在しないんですね! 引数はデフォルト配列変数 @_ にリストとして格納される、と。そして、引数はいくつでも指定できる(可変個の引数)。
引数を配列として受け取る、というのは僕にとってはとても新鮮です。なんだかピンとこないのですが、書いていくうちに慣れるのでしょうか……。
@_ はデフォルト配列変数なので、例えば「shift;」と書けば「shift @_;」と書いたのと同じ意味になります。なるほど。
とりあえず書いてみます。

# sub2.pl
 
sub print_number {
	my $n = shift;
	print "Number is $n.\n";
}
 
print_number(5);
print_number(100);
print_number(1234);

数字をうけとって表示する print_number 関数を定義してみました。(といってもスカラ値なら何でも受け取れますが)
my $n = shift; で、1番目の引数を $n に取り出す、という意味になるはずです。
実行結果です。

Number is 5.
Number is 100.
Number is 1234.

ちゃんと受け取れましたね。(^_^)