redirect_to :future #思维驱动 » Blog Archive » perl读写文件。

perl读写文件。

perl学了不少时间了,可是我发现我现在忘记的速度比记忆的速度快了许多,努力了很久一段时间没用后发现全忘记光了(以前不是这样子的啊!!看来真老了:(,呵呵),今天要统计一个文件里的不同类别的内容的条数,又花了不少时间才搞定,还是决定记录下来。

版权声明:可以任意转载,转载时请务必标明文章原始出处、作者及本声明:http://www.upulife.com

虽然perl给我的感觉不是那么好,对它也不是那么熟悉,不过我不是决定用perl来开发下一个功能,为什么呢?因为perl的解析器不用安装—我用的大部份操作系统无论是sun,ibm,hp还是别的什么,几乎都默认安装perl,而像php,python基本是没有的,更不用说什么ruby之类的了。

文件读写操作,其实很简单,列一下代码再简单的说明一下吧,下次再用的时候方便查找(这方面我是初学者有些描述可能用得不对):


sub  ProcessFile
{
    #以数组方式获取参数,这是有两个参数,输入和输出文件
    my ($in_file,$out_file) = @_;

    #定义变量
    my %param;
    my @lines;
    my @data;

    open( FILE, $in_file );#打开文件读
    #将整个文件按行载入到数组lines,类似于php的file()函数.
    #注:此处《》应该改为<>,wordpress的问题
    @lines = FILE;

    chop( @lines );
    #这里$i从1开始,因为我要去文件头.
    for( my $i=1; $i< @lines; $i++ ){

        next if ($lines[$i]=~/^(s*#)/);#跳过注释行....
        @data=split(/s+/,$lines[$i]);
        $param{$data[8]}=$param{$data[8]}+1;
    }
    close (FILE);
    #打开文件写,不存在则创建,>>表示追加,>表示清空再写
    open(FILE,">>$out_file");
    foreach my $key ( keys %param )
    {
        ##向文件写内容,很简单吧。
        print FILE $key.",".$param{$key}."n";

    }
    close(FILE);
    return %param;
}

&ProcessFile("input.txt","output.txt");#调用函数.

呵呵,prel还要继续努力。。。。

看完啦?再看看我们最近的10条记录对您是否有用呢?

要不,再找找其它内容:




或者给我们留下些意见、建议,这将给我们莫大的鼓励,促使我们做得更好。