【发布时间】:2011-01-05 20:11:12
【问题描述】:
我正在尝试在 Perl 中创建一个简单的递归阶乘函数,它将从命令行获取一个数字,然后返回它的阶乘,例如
>./factorial.pl 3
>6
我的子程序似乎没有使用命令行参数。但是,如果我在没有子包装器的情况下采用完全相同的代码,它确实采用命令行参数,但显然不能作为子例程工作。下面是代码:
#!/usr/bin/perl
use strict;
use warnings;
use diagnostics;
sub fact() {
my $number = shift or return;
return 0 if $number < 0;
my $results = 1;
while ($number--) { $results *= $number--};
return $results;
}
【问题讨论】:
标签: perl