perl中没有办法从特定的行号开始读取文件。每当我们在perl中读取文件时,我们都会while(<$fileHandler>)
使perl解释器从头开始读取文件。如果我不想阅读这些内容该怎么办?
答案 0 :(得分:3)
您可以从头开始跳过行,然后使用$start_line
,
my $start_line = 10;
while(<$fileHandler>) {
next unless $. == $start_line .. undef;
# ..
}
range operator ..
还提供以下简写:
如果标量“..”的任一操作数是常量表达式,如果该操作数与当前输入行号(
==
变量)相等($.
),则该操作数被视为true。 / p>
因此,上述内容可以简化为:
while(<$fileHandler>) {
next unless 10 .. undef;
# ..
}
答案 1 :(得分:2)
因为您无法知道一行的长度,您必须从文件的开头读取。
如果您知道线条有多宽,因为您有固定的线宽或其他方案,那么您可以在文件中寻找该位置。否则你必须阅读每个角色并搜索特殊的&#39;换行符。
文本文件只是一长串字符。线条没什么特别的。