在Perl脚本中使用命令?

在Perl脚本中使用命令?,perl,input,scripting,output,primes,Perl,Input,Scripting,Output,Primes,我试图在脚本中运行perl命令,结果如下: filenumber1.txt: 94088076164765675 命令窗口看起来正常: C:\Users\Guest\Documents\Prime Numbers>perl-Mntheory=:all-nE“chomp;say next_Prime($);”filenumber1.txt (Missing operator before filenumber1.txt?) 94088076164765687 我尝试在一个名为prime

我试图在脚本中运行perl命令,结果如下:

filenumber1.txt:

94088076164765675
命令窗口看起来正常:

C:\Users\Guest\Documents\Prime Numbers>perl-Mntheory=:all-nE“chomp;say next_Prime($);”filenumber1.txt

    (Missing operator before filenumber1.txt?)
94088076164765687

我尝试在一个名为primenumbers.pl的脚本中执行此操作,并生成另一个名为log.txt的文件作为输出文件,filenumber1.txt作为输入文件:

    #!/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;

    perl -Mntheory=:all -nE "chomp; say next_prime($_);" filenumber1.txt
primenumbers.pl与filenumbers.txt位于同一目录中,当我运行脚本时出现了一些问题,我不知道是什么:

C:\Users\Guest\Documents\primenumbers>perl primenumbers.pl

在primenumbers.pl第7行的“say next_prime($)”附近找到了运算符期望的位置;“filenumber1.txt”

primenumbers.pl第7行,靠近“”的语法错误,表示下一个素数($);“filenumber1.txt”

由于编译错误,primenumbers.pl的执行已中止


我试着自己解决它,但我只会让事情变得更糟,还有更多的问题需要解决。有人知道如何在不查看输入文件“filenumber1.txt”的情况下从这里帮助我生成输出文件“log.txt”吗?提前感谢。

切换到
perl
-n
只需在
中包装代码,而(){…}
,因此,要在您自己的程序中获得类似效果,只需自己添加循环(未测试的代码;可能包含错误):


您应该被设置。

切换到
perl
-n
只是将代码包装在
中,而(){…}
,因此,要在您自己的程序中获得类似的效果,只需自己添加循环(未测试的代码;可能包含错误):


您应该被设置。

这是一个Windows shell命令,不是Perl命令!“不查看输入文件”是什么意思?显然,如果不在某个时刻读取文件内容,就无法转换文件内容。这是一个Windows shell命令,而不是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;

while (<>) {
  chomp; say next_prime($_);
}
primenumbers.pl filenumber1.txt