У меня есть следующий код:
#!/usr/bin/env perl
use strict;
use warnings;
use feature 'say';
BEGIN {
my $supported = undef;
*compute_factorial = sub { if (eval { require bignum; bignum->import(); 1;}) {
my $num = shift;
my $factorial = 1;
foreach my $num (1..$num) {
$factorial *= $num;
}
return $factorial;
} else {
undef;
} };
};
my $f = compute_factorial(25);
say $f;
Я просто что-то тестирую, не совсем производственный код... У меня есть прагма bignum
на моей машине (, которая отлично загружается с помощьюuse
), мне интересно, почему require
не работает так, как должно быть (В этом случае я получаю экспоненциальные числа, а не "большие числа" )?
Спасибо,