如何在特定目录中生成Perl Generate Output文件

时间:2016-09-05 20:17:51

标签: perl output primes

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

<<< nextprime(30659918)

30659947

但是我没有在命令窗口中输出“30659947”,而是寻找一个快速命令,它可以生成一个输出文件(例如给定目录中的Perl_command1.out),而不是字符“30659947” 。有谁知道如何做到这一点? (为什么我要这样做是因为当我有更大的300k +数字输入时,我没有把命令窗口抬起来)

我使用的perl命令是:

perl -Mntheory =:all -E“say next_prime('30659918')

30659947

或脚本文件:perlscript.pl

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

say next_prime('30659918')

2 个答案:

答案 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