加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 大数据 > 正文

一个有用的Perl修改文件的模块

发布时间:2020-12-16 00:00:23 所属栏目:大数据 来源:网络整理
导读:Tie :: File 最近由于工作需要需要在读取文件内容的时候同时修改文件的内容。折腾了一阵,最后用的一个很傻瓜的方法来解决这个问题。 将文件内容读入到数组中,然后对数组进行修改。然后删除文件再创建新的同名文件。 ? 虽然问题暂时解决了,但后来一想应该
Tie::File
最近由于工作需要需要在读取文件内容的时候同时修改文件的内容。折腾了一阵,最后用的一个很傻瓜的方法来解决这个问题。
将文件内容读入到数组中,然后对数组进行修改。然后删除文件再创建新的同名文件。
?
虽然问题暂时解决了,但后来一想应该还有更好的方法。于是找到这个模块。
Tie::File - Access the lines of a disk file via a Perl array
?
基本使用例子:
    # This file documents Tie::File version 0.98
        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

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读