BEGIN {
require bignum;
import bignum;
my $x = 1;
}
require bignum;
import bignum;
my $x = 1;
, require import , my $x = 1; , bignum my $x = 1; my $x = Math::BigInt->new(1);. ,
use bignum;
my $x = 1;
BEGIN {
require bignum;
import bignum;
}
my $x = 1;
BEGIN {
require bignum;
import bignum;
my $x = 1;
}
BEGIN {
my $sub;
if (eval { require bignum; }) {
$sub = eval(<<'__EOI__') or die $@;
use bignum;
sub {
my ($num) = @_;
my $factorial = 1;
$factorial *= $_ for 2..$num;
return $factorial;
}
__EOI__
} else {
$sub = sub { croak "Unsupported" };
}
*factorial = $sub;
}
, , .
BEGIN {
my $sub;
if (eval { require Math::BigInt; }) {
require Math::BigInt;
$sub = sub {
my ($num) = @_;
my $factorial = Math::BigInt->new(1);
$factorial *= $_ for 2..$num;
return $factorial;
};
} else {
$sub = sub { croak "Unsupported" };
}
*factorial = $sub;
}