Perl 从STDIN读取文件并写入STDOUT

Perl 从STDIN读取文件并写入STDOUT,perl,file,Perl,File,我想读取从STDIN输入的html文件,执行一些功能,然后将另一个html文件写入STDOUT。我的问题是我必须按规定的方式提交文件。我试过很多东西,但没有一件是有效的。什么都没印出来 我的命令行提示符 perl universe.pl<sun.html>galaxy.html perl universe.plgalaxy.html 我的代码- open(my $in, "<&STDIN") or die "Can't dup STDIN: $!"; ope

我想读取从STDIN输入的html文件,执行一些功能,然后将另一个html文件写入STDOUT。我的问题是我必须按规定的方式提交文件。我试过很多东西,但没有一件是有效的。什么都没印出来

我的命令行提示符

perl universe.pl<sun.html>galaxy.html
perl universe.plgalaxy.html
我的代码-

open(my $in, "<&STDIN")     or die "Can't dup STDIN: $!";
open(my $out, ">&STDOUT")     or die "Can't dup STDOUT: $!";

my @lines = <$in>;
foreach(@lines) {
   push(@newlines,$_);
   say "Lines pushing:", $_;
}

打开(我的$in,使用魔钻操作符
,您可以按要求进行操作。但请下次提供更多搜索努力

use strict; use warnings;

while (my $line = <>) {
   # do something with $line
}
使用严格;使用警告;
while(我的$line=){
#用$line做点什么
}

最后但并非最不重要的一点是,如果您必须以良好的方式解析HTML,请查看或仅使用魔钻操作符
,您将能够完成您要求的操作。但请下次提供更多搜索工作

use strict; use warnings;

while (my $line = <>) {
   # do something with $line
}
使用严格;使用警告;
while(我的$line=){
#用$line做点什么
}

最后但并非最不重要的一点是,如果您必须以良好的方式解析HTML,请查看或仅使用魔钻操作符
,您将能够完成您要求的操作。但请下次提供更多搜索工作

use strict; use warnings;

while (my $line = <>) {
   # do something with $line
}
使用严格;使用警告;
while(我的$line=){
#用$line做点什么
}

最后但并非最不重要的一点是,如果您必须以良好的方式解析HTML,请查看或仅使用魔钻操作符
,您将能够完成您要求的操作。但请下次提供更多搜索工作

use strict; use warnings;

while (my $line = <>) {
   # do something with $line
}
使用严格;使用警告;
while(我的$line=){
#用$line做点什么
}

最后但并非最不重要的一点是,如果您必须以良好的方式解析HTML,请查看或只打开STDIN或STDOUT,您不需要打开它们;它们总是可以打开的

您不需要像处理以下文件那样将整个文件读入内存:

my @lines = <$in>;
其中,
mapping\u func()
是对其输入字符串进行相关转换并返回映射结果的函数:

sub mapping_func
{
    my($string) = @_;
    $string =~ s/html/HTML/gi;
    return $string;
}

您不需要打开STDIN或STDOUT;它们总是随时可以打开的

您不需要像处理以下文件那样将整个文件读入内存:

my @lines = <$in>;
其中,
mapping\u func()
是对其输入字符串进行相关转换并返回映射结果的函数:

sub mapping_func
{
    my($string) = @_;
    $string =~ s/html/HTML/gi;
    return $string;
}

您不需要打开STDIN或STDOUT;它们总是随时可以打开的

您不需要像处理以下文件那样将整个文件读入内存:

my @lines = <$in>;
其中,
mapping\u func()
是对其输入字符串进行相关转换并返回映射结果的函数:

sub mapping_func
{
    my($string) = @_;
    $string =~ s/html/HTML/gi;
    return $string;
}

您不需要打开STDIN或STDOUT;它们总是随时可以打开的

您不需要像处理以下文件那样将整个文件读入内存:

my @lines = <$in>;
其中,
mapping\u func()
是对其输入字符串进行相关转换并返回映射结果的函数:

sub mapping_func
{
    my($string) = @_;
    $string =~ s/html/HTML/gi;
    return $string;
}

我在另一个Perl脚本中运行的脚本中遇到了这个问题


解决方案是在第二个脚本(执行从STDIN读取的脚本的脚本)中设置$。

我遇到了从另一个Perl脚本内部运行的脚本的问题


解决方案是在第二个脚本(执行从STDIN读取的脚本的脚本)中设置$。

我遇到了从另一个Perl脚本内部运行的脚本的问题


解决方案是在第二个脚本(执行从STDIN读取的脚本的脚本)中设置$。

我遇到了从另一个Perl脚本内部运行的脚本的问题



解决方案是在第二个脚本(执行从STDIN读取的脚本的脚本)中设置$.

你几乎必须努力尝试失败;从标准输入读取非常简单,向标准输出写入非常简单。因此,正如Paul所说,你需要展示你正在尝试的内容,因为你必须深思熟虑。提示:STDIN和STDOUT不会出现在你的脚本中。你几乎必须努力尝试失败;阅读from标准输入非常简单,写入标准输出也非常简单。因此,正如Paul所说,您需要展示您正在尝试的内容,因为您必须进行过度思考。提示:STDIN和STDOUT这两个词不会出现在您的脚本中。您几乎必须在这方面努力尝试失败;读取标准输入非常简单,写入标准输出非常简单。因此,正如Paul所说,您需要展示您正在尝试的内容,因为您必须进行过度思考。提示:STDIN和STDOUT不会出现在您的脚本中。您几乎必须努力尝试在这方面失败;从标准输入读取非常简单,而向标准输出写入非常简单。因此,正如Paul所说,您需要展示提示:STDIN和STDOUT这两个词不会出现在脚本中。请注意,这个答案是在将代码添加到问题之前提供的。如果我只给出一个输入文件,如-perl universe,这很好。pl@user2907995:您只能给出一个输入文件,其中的命令符号为“否”不允许更改。这是您提出的问题:
perl universe.plgalaxy.html
请注意,此答案是在将代码添加到问题之前提供的。如果我只提供一个输入文件,如-perl universe,这很好。pl@user2907995:您只能提供一个输入文件,其中包含不允许更改的命令符号。这就是您问:
perl universe.plgalaxy.html
请注意,此答案是在将代码添加到问题之前提供的。如果我只提供一个输入文件,如-perl universe,这很好。pl@user2907995:您只能给出一个输入文件,其中包含不允许更改的命令符号。这是您要求的:
perl universe.phtml
请注意,此答案是在将代码添加到问题之前提供的。如果我只提供一个输入文件,如-perl universe,这很好。pl@user2907995:您只能提供一个inpu