任何人都可以告诉我Perl中的这个脚本是做什么的吗?

时间:2013-11-30 00:03:49

标签: perl

有人能告诉我Perl中的这个脚本是做什么的吗?

#!/usr/bin/perl
my ($file, $from, $to) = @ARGV;
my $fh;
my $matching = 0;
open($fh, $file) or die $!;
while(<$fh>)
{
    if(/\Q$from\E/) { $matching = 1; }
    if($matching) { print $_; }
    if($matching && /\Q$to\E/) { last; }
}
close($fh);

感谢。

2 个答案:

答案 0 :(得分:2)

它读取您指定的文件的名称并打印其内容的一部分。

程序在找到包含 字符串的行并且停止打印后,开始打印找到包含 字符串的行。

例如,假设您将程序命名为 section.pl ,并提供名为 data.txt 的文件,其中包含以下内容:

This is line one.
This is line two.
This is line three.
This is line four.
This is line five.
This is line six.
This is line seven.
This is line eight.
This is line nine.
This is line ten.

然后您按如下方式运行Perl脚本:

perl section.pl data.txt three seven

预期输出为:

This is line three.
This is line four.
This is line five.
This is line six.
This is line seven.

答案 1 :(得分:0)

它读取文件并输出$ from和$ to之间的所有内容。