关注新的技术:Node.js家园

 

如何用Perl打印文件中的某几行信息呢?假如你有一个文件,你只关心某一段文字,大概你会使用比较传统的文件行记数法,然后再来判断这个文件行的区间是否在我们预期的之内。其它这个工作,在Perl中是相当容易实现的。

如下:

use strict;

open F,"c:/remoted.txt" or print "$^E";
    while(<F>){
    if(1..10){
        print;
    }

这个小“垃圾”程序打印了文件句柄F所关联的文件的前10行。之所以这个程序垃圾,是因为我们没有按照Perl的风格去写代码,只是很随意的写。你知道的,这个东西可以很简约。对,简约就是一种风格。

要特别的说明下,这个代码片段中使用了几个Perl特殊变量,你能看出来吗?

第一:$^E

第二:$.

第三:$_

第一个看上去很明显,而第二个则有很多的人不知道代表着什么,关于第三个,不再多说。

所以,重点是要说说$.这个特殊变量。

$.变量,简单的说,就是跟踪当前记录号。当while循环读取到文件的第一行时,这时$.等于1,以此类推...