如何使 Perl 在特定目录中生成输出文件
How to make Perl Generate Output files in a specific directory
有谁知道如何使用 perl 自动生成输出文件?我是运行这样在命令行输入:
<<< 下一个(30659918)
30659947
但不是输出“30659947”在命令 window 中,我正在寻找一个可以生成输出文件的快速命令(例如给定目录中的 Perl_command1.out ) 改为使用字符“30659947”。有谁知道如何做到这一点? (我为什么要这样做是因为当我有更大的 300k+ 数字输入时,我没有命令 window)
我使用的 perl 命令是:
perl -Mntheory=:all -E "说 next_prime('30659918')
30659947
或脚本文件:perlscript.pl
#!/usr/bin/env perl
use warnings;
use strict;
use feature 'say';
use ntheory ":all";
say next_prime('30659918')
您可以使用运算符从命令行重定向输出。另一种方法是将标准输出重定向到 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
会是一个更好的名字。
有谁知道如何使用 perl 自动生成输出文件?我是运行这样在命令行输入:
<<< 下一个(30659918)
30659947
但不是输出“30659947”在命令 window 中,我正在寻找一个可以生成输出文件的快速命令(例如给定目录中的 Perl_command1.out ) 改为使用字符“30659947”。有谁知道如何做到这一点? (我为什么要这样做是因为当我有更大的 300k+ 数字输入时,我没有命令 window)
我使用的 perl 命令是:
perl -Mntheory=:all -E "说 next_prime('30659918')
30659947
或脚本文件:perlscript.pl
#!/usr/bin/env perl
use warnings;
use strict;
use feature 'say';
use ntheory ":all";
say next_prime('30659918')
您可以使用运算符从命令行重定向输出。另一种方法是将标准输出重定向到 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
会是一个更好的名字。