サブルーチンの先頭で配列がシフトされるのはなぜですか?
sub max {
my($max_so_far) = shift @_;
foreach (@_) {
if ($_ > $max_so_far) {
$max_so_far = $_;
}
}
$max_so_far;
}
$max_so_far に初期値を与えるだけですか?プログラムはまったく同じように実行されます
my($max_so_far) = undef;
そもそも配列をシフトする特定の理由はありますか? (なぜそのシフトがサブルーチンに不可欠なのかを理解しようとして約 10 分を費やしたので、私は尋ねます。)