[Perl][プログラム] 再帰型だとコードは綺麗なんだけどdeep recursionでエラー吐くのでループに直す。

#!/usr/bin/perl -w

use strict;
use bigint;

# 1
# 1 1
# 1 2 1
# 1 3 3 1
# 1 4 6 4 1

sub nextPascal{
  my @pascal = @_;
  return 1 if !@pascal;
  my @ret = $pascal[0];
  for(my $ii=1; $ii<@pascal; $ii++){
	push @ret, $pascal[$ii-1] + $pascal[$ii];
  }
  push @ret, $pascal[@pascal-1];
  return @ret;
}

my @pascal;
for(0..$ARGV[0]){
  @pascal = nextPascal(@pascal);
  print "@pascal\n";
}

これで1000段目くらいまで行けるはずなんだけどまだ計算中。