如何使Perl在特定目录中生成输出文件

如何使Perl在特定目录中生成输出文件,perl,output,primes,Perl,Output,Primes,有人知道如何使用perl以便自动生成输出文件吗?我在命令行上运行输入,如下所示: 可以使用运算符重定向命令行的输出。另一种方法是将标准输出重定向到perl脚本本身中的文件 #!/usr/bin/env perl use warnings; use strict; use feature 'say'; use ntheory ":all"; # open filehandle log.txt open (my $LOG, '>>', 'log.txt'); # select new

有人知道如何使用perl以便自动生成输出文件吗?我在命令行上运行输入,如下所示:


可以使用运算符重定向命令行的输出。另一种方法是将标准输出重定向到perl脚本本身中的文件

#!/usr/bin/env perl
use warnings;
use strict;
use feature 'say';
use ntheory ":all";

# open filehandle log.txt
open (my $LOG, '>>', 'log.txt');
# select new filehandle
select $LOG;

say next_prime('30659918');

使用输出重定向

perl -Mntheory=:all -E "say next_prime('30659918')" > Perl_command1.out
这将把文件放在当前目录中。但是你可以给它任何类型的文件路径

perl -Mntheory=:all -E "say next_prime('30659918')" > /some/other/directory/Perl_command1.out
对于Perl程序也是如此

./perlscript.pl > Perl_command1.out
一般来说,我发现像这样使用I/O重定向比在代码中硬编码文件名要灵活得多


我不确定您的
ntheory.pm
文件是从哪里来的,但在Perl编程中,这样的模块的名称以大写字母开头是公认的标准。所以
NTheory.pm
会是一个更好的名字。

那一行是什么感谢脚本,你能给我看一个可以粘贴到命令行中的命令吗?谢谢如果您在任何unix/linux系统上,只需将上面的行复制粘贴到一个脚本中,并使用printprime.pl名称。然后使用以下两个命令将其转换为可执行脚本并运行它。chmod+x printprime.pl./printprime.pl无论谁对我的帖子投了反对票,我认为这是因为我没有提到命令行重定向。我这样做是因为,我不确定OP的专业知识以及他在哪个平台上工作。
./perlscript.pl > Perl_command1.out