生成 perl 的素数
Primes generating perl
我正在尝试生成随机素数
print Math::Prime::Util->random_strong_prime(128);
但是,当我调用 Math::Prime::Util 的其中一种方法(我尝试了各种方法)时,我得到:
Parameter 'Math::Prime::Util' must be a positive integer at /home/ivan/perl5/lib/perl5/x86_64-linux-thread-multi/Math/Prime/Util.pm line 400.
我不明白哪里不对,128是正整数。
脚本在 Starman server(psgi)
下运行
当您使用 the method invocation syntax 时,即
Math::Prime::Util->random_strong_prime(128);
random_strong_prime
的第一个参数变为字符串 "Math::Prime::Util"
,它不是正整数。使用方法调用语法,128
成为 second 参数。
您使用的语法适用于调用 class 方法。
相反,您想使用函数调用语法:
print Math::Prime::Util::random_strong_prime(128);
您可以使用以下简单程序验证这一点:
#!/usr/bin/env perl
package Hello;
sub f { print "@_\n" }
package main;
Hello->f('world');
Hello::f('world');
$ ./gg.pl
Hello world
world
我正在尝试生成随机素数
print Math::Prime::Util->random_strong_prime(128);
但是,当我调用 Math::Prime::Util 的其中一种方法(我尝试了各种方法)时,我得到:
Parameter 'Math::Prime::Util' must be a positive integer at /home/ivan/perl5/lib/perl5/x86_64-linux-thread-multi/Math/Prime/Util.pm line 400.
我不明白哪里不对,128是正整数。 脚本在 Starman server(psgi)
下运行当您使用 the method invocation syntax 时,即
Math::Prime::Util->random_strong_prime(128);
random_strong_prime
的第一个参数变为字符串 "Math::Prime::Util"
,它不是正整数。使用方法调用语法,128
成为 second 参数。
您使用的语法适用于调用 class 方法。
相反,您想使用函数调用语法:
print Math::Prime::Util::random_strong_prime(128);
您可以使用以下简单程序验证这一点:
#!/usr/bin/env perl
package Hello;
sub f { print "@_\n" }
package main;
Hello->f('world');
Hello::f('world');
$ ./gg.pl Hello world world