有谁知道如何使用perl所以输出文件可以自动生成?我正在命令行上运行输入,如下所示:
<<< nextprime(30659918)
30659947
但是我没有在命令窗口中输出“30659947”,而是寻找一个快速命令,它可以生成一个输出文件(例如给定目录中的Perl_command1.out),而不是字符“30659947” 。有谁知道如何做到这一点? (为什么我要这样做是因为当我有更大的300k +数字输入时,我没有把命令窗口抬起来)
我使用的perl命令是:
perl -Mntheory =:all -E“say next_prime('30659918')
30659947
#!/usr/bin/env perl
use warnings;
use strict;
use feature 'say';
use ntheory ":all";
say next_prime('30659918')
答案 0 :(得分:0)
使用输出重定向。
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
会是一个更好的名字。
答案 1 :(得分:-1)
您可以使用运算符从命令行重定向输出。另一种方法是将标准输出重定向到perl脚本本身的文件中。
Uri