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

前端之家收集整理的这篇文章主要介绍了一个有用的Perl修改文件的模块前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
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

猜你在找的Perl相关文章