首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >以编程方式读取STDIN或Perl中的输入文件

以编程方式读取STDIN或Perl中的输入文件
EN

Stack Overflow用户
提问于 2010-06-29 15:23:09
回答 5查看 153.9K关注 0票数 76

以编程方式从标准输入或Perl中的输入文件(如果提供)中读取数据的最灵活方法是什么?

EN

回答 5

Stack Overflow用户

回答已采纳

发布于 2010-06-29 15:28:56

代码语言:javascript
复制
while (<>) {
print;
}

将从命令行上指定的文件读取,如果未提供文件,则从标准输入读取

如果需要在命令行中构建此循环,则可以使用-n选项:

代码语言:javascript
复制
$ perl -ne 'print;'

在这里,您只需将第一个示例中的{}之间的代码放入第二个示例中的''

票数 94
EN

Stack Overflow用户

发布于 2013-02-16 01:15:49

这提供了一个要使用的命名变量:

代码语言:javascript
复制
foreach my $line ( <STDIN> ) {
    chomp( $line );
    print "$line\n";
}

要读取一个文件,可以像这样通过管道将其输入:

代码语言:javascript
复制
program.pl < inputfile
票数 51
EN

Stack Overflow用户

发布于 2010-06-29 15:25:44

您需要使用<>运算符:

代码语言:javascript
复制
while (<>) {
    print $_; # or simply "print;"
}

它可以压缩为:

代码语言:javascript
复制
print while (<>);

任意文件:

代码语言:javascript
复制
open F, "<file.txt" or die $!;
while (<F>) {
    print $_;
}
close F;
票数 13
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/3138649

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档