一直在想办法,如何在perl读取文本文件时,跳过第一行(采用更好的方法)。上网搜了搜,发现有不少人回答类似的问题,但是方法都不尽如人意。
现将网上的一些常见方法罗列下(虽然还有其它写法,但是它们在本质上都是一些)。
比如说,
open( FH, $yourfile ) or die "Can't open $yourfile: $!\n";
while( <FH> ){
next if /pattern_indicating_line_to_skip/;
# otherwise, do stuff...
}
open FILE, $somefile;
foreach (<FILE>)
{
if (/some_regex/)
{
$want_the_next_line = <FILE>;
$want_the_next_line_after_that = <FILE>;
}
}
$line = 0;
while(<IN>) {
if ($line <= N) {
} else {
do something
}
}
以上方法虽然都正确,但是细心的你一定发现了问题。假如我的文本有 1万 行,如果仅仅是为了跳过开头的1行,就在循环中加入了 if 条件,那么余下的 9999 行代码岂不是都白白的进行了无用的比较?
有没有更好的办法呢?
其实办法很简单,只是都被我们忽略了。当我再次google时,在一篇文章中得到了答案。我觉得这个办法挺好的。不知道大家有没有什么其它意见或有更好的办法,欢迎大家回复你的最佳答案。 哈哈哈
open( READ, "<$file" );
readline READ; # skip the first line
while (<READ>) {
my ( $id, $axis1, $axis2, $axis3, $value ) = split /\t/;
$line = sprintf ( "%d\t%d\t%d\t%d\t%d\t%d\n",
$id, $axis1, $axis2, $axis3, $value, $axis1 + $axis2 );
print WRITE $line;
}
close READ;
分享到:
相关推荐
Perl之读取文本文件,按照给定的关键字读取文件内容并输出。
perl脚本,读取一个文件夹所有文件。 简单实用。
利用perl读取EXCEL文件输出到XML文件
用perl程序实现文本文件到mysql数据的自动加载.
小程序,把文本文件逐行读取并放到对话框中的listbox中,显示是UNICODE格式的,不会乱码
使用perl替换文本中的字符,直接对原文件进行修改,不会产生临时文件
利用perl脚本程序,读取并修改文件的内容
新手可以看看哈,教会你对文件的读取,让你尽快的入门
对学习使用Perl操作文件时写的,在开始学习对Perl文件操作时,使用了$_,导致调试了很长时间,现在改正后做笔记到此
perl5.10.1安装文件perl5.10.1安装文件perl5.10.1安装文件perl5.10.1安装文件perl5.10.1安装文件perl5.10.1安装文件perl5.10.1安装文件
在window下使用ActivePerl,使用读取句柄操作,对txt文件替换进行操作。使用时,注意将txt文件和perl源文件放在同一个目录下。
这是一个用perl语言解析的一个excel文件,将excel中的数据按照既定格式输出,方便数据处理
包含perl对文本的一些常用操作,字符串的操作,excel的操作。相关函数的操作,和经常用到的一些正则表达式~~~(本人平常用到的一点收集,供用perl开发的朋友参考一下)
NULL 博文链接:https://zhych8419-163-com.iteye.com/blog/1030013
可能太乱了,但是至少可以提供给大家一个范例,使用perl创建xlsx(2007)、读文本文件然后抓取数据生成xlsx文件(具体内容是ezplan提取的drill信息的文本,然后排序 由小到大,第一行指定0.125,第二行0.4,pre放在...
perl 处理文本能力之强大,运用正则表达式更是如虎添翼。
perl处理文本文件,学习参考用。比较简单。初学perl可以参考。
第一章 概述 一、Perl是什么?...# this line is a comment 注:建议经常使用注释使你的程序易读,这是好的编程习惯。 第二章 简单变量 基本上,简单变量就是一个数据单元,这个单元可以是数字或字符串。
perl脚本perl脚本perl脚本perl脚本
perl删除重复行,一行一行读取,如果$temp和$-不等则保留,只能处理连续重复,perl删除重复行,一行一行读取,如果$temp和$-不等则保留,只能处理连续重复,