poun 发表于 2015-12-26 08:01:28

【Perl】模块 Tie::File

1 Tie::File


  建立一个list和file的关系,对list的操作会反映到file上去。
  

use Tie::File;
tie @array, 'Tie::File', filename or die ...;

$array = 'blah';   # line 13 of the file is now 'blah'
print $array;      # 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



2 应用举例


  

use Tie::File;
my @array;
my $filename = "a.txt";
tie(@array,'Tie::File',$filename) or die;
print "$array\n";
print "$#array\n";
$array = "hello";
$array = "world";
splice(@array, 1, 0, "insert into 0 and 1 line");
delete $array[$#array];
$#array -= 2;
print pop @array;
untie($array);



3 more help


  perldoc Tie::File
  
  



Author: visaya fan <visayafangmail.com or visayafan163.com>
Date: 2011-10-29 16:46:46
HTML generated by org-mode 6.33x in emacs 23
页: [1]
查看完整版本: 【Perl】模块 Tie::File