編集:解決しました。以下の解決策を参照してください。
最初の 10 個の数に対して次のフィボナッチ数プログラムを作成しました。しかし、私はそれを機能させることができません。それは私にそれを言い続けUse of uninitialized value $secondLast in addition (+) at fib.plx line 22.
、それは永遠に実行されます。私は初心者の Perl プログラマーなので、エラーは非常に単純であると確信しています。ありがとう。
#!/usr/bin/perl
use warnings;
use strict;
sub fib(\@$);
my @defaultNums = (1,1);
my $max = 10;
fib(@defaultNums,10);
sub fib(\@$)
{
my $nums_ref = $_[0];
my $max = $_[1];
foreach(@{$nums_ref})
{
print "$_, ";
}
print "\n";
my $last = pop (@{$nums_ref});
my $secondLast = pop (@{$nums_ref});
my $sum = $last + $secondLast;
push (@{$nums_ref}, $sum);
if( scalar @{$nums_ref} >= $max) { return; }
fib (@{$nums_ref},$max);
print "\n";
}
編集:解決しました。以下の解決策を参照してください。