perl大文件读取处理的模块介绍

 更新时间:2013年02月08日 20:58:04   作者:  
perl CPAN中有一个Tie-File 模块极大方便了对大文件的操作

该模块用perl的数组代表一个文件,文件的每一行对应数组的一个元素,第一行为元素0,第二回为1,... 
文件本身实际并不加载到内存,对数组元素的操作立刻作用到文件里。最大的方便是可以任意指定处理开头结尾的某几行。

基本用法:

复制代码 代码如下:

use Tie::File;
tie @array, 'Tie::File', filename or die ...;
$array[13] = 'blah'; # line 13 of the file is now 'blah'
print $array[42]; # display line 42 of the file
$n_recs = @array; # how many records are in the file?
$#array -= 2; # chop two records off the end

for (@array) {
s/PERL/Perl/g; # Replace PERL with Perl everywhere in the file
}
# These are just like regular push, pop, unshift, shift, and splice
# Except that they modify the file in the way you would expect
push @array, new recs...;
my $r1 = pop @array;
unshift @array, new recs...;
my $r2 = shift @array;
@old_recs = splice @array, 3, 7, new recs...;
untie @array; # all finished

更多功能请大家参考cpan上的文档。

相关文章

  • Perl 哈希的创建和引用介绍

    Perl 哈希的创建和引用介绍

    创建,引用仅有两种方法,使用它也是两种,这里简单介绍下, 方便需要的朋友
    2013-02-02
  • Perl中的模式匹配学习笔记

    Perl中的模式匹配学习笔记

    这篇文章主要介绍了Perl中的模式匹配学习笔记,本文讲解了匹配操作符、模式中的特殊字符、模式匹配选项等内容,需要的朋友可以参考下
    2015-02-02
  • Perl中的列表和数组学习笔记

    Perl中的列表和数组学习笔记

    这篇文章主要介绍了Perl中的列表和数组学习笔记,本文讲解了列表、数组--列表的存贮、数组的存取、字符串中的方括号和变量替换、列表范围、数组的输出等内容,需要的朋友可以参考下
    2015-02-02
  • perl几个文件操作例子

    perl几个文件操作例子

    这篇文章主要介绍了perl几个文件操作例子,讲解了删除文件、读取文件、一次性读取等,需要的朋友可以参考下
    2014-06-06
  • 7个perl数组高级操作技巧分享

    7个perl数组高级操作技巧分享

    这篇文章主要介绍了7个perl数组高级操作技巧,本文讲解了数组去重、数组合并、查找最大值、列表归并等内容,需要的朋友可以参考下
    2014-11-11
  • perl控制流介绍(if条件,while,for循环,foreach)

    perl控制流介绍(if条件,while,for循环,foreach)

    Perl控制流(if条件,while,for循环),需要的朋友可以参考下
    2013-02-02
  • Perl初学笔记之Hello World

    Perl初学笔记之Hello World

    这篇文章主要介绍了Perl初学笔记之Hello World,本文是自学Perl的一篇笔记,本文着重讲解了cpan的使用,需要的朋友可以参考下
    2015-06-06
  • Windows10下安装配置 perl 环境的详细教程

    Windows10下安装配置 perl 环境的详细教程

    Perl 最重要的特性是Perl内部集成了正则表达式的功能,以及巨大的第三方代码库CPAN。这篇文章主要介绍了Windows10下安装配置 perl 环境的详细教程,需要的朋友可以参考下
    2020-12-12
  • perl ping检测功能脚本代码

    perl ping检测功能脚本代码

    领导有任务,给一批IP列表,ping每一台机器,如果没有响应就发邮件通知,通知的邮件需要分开,不能通知一个列表,得一封一封的通知
    2013-02-02
  • Perl中的子程序学习笔记

    Perl中的子程序学习笔记

    这篇文章主要介绍了Perl中的子程序学习笔记,本文讲解了子程序的定义、调用、返回值、局部变量、子程序参数传递等内容,需要的朋友可以参考下
    2015-02-02

最新评论