- 论坛徽章:
- 307
|
本帖最后由 sunzhiguolu 于 2015-12-07 23:09 编辑
回复 26# MMMIX
大神您好, 我把 Tie::File 模块的文档已经看完, 向您请教个两个问题:
我的代码如下:
- #!/usr/bin/perl
- use strict;
- use warnings;
- use Tie::File;
- use Fcntl 'O_RDWR';
- tie (my @aData, 'Tie::File', 'z:\data.txt', mode => O_RDWR) or die "$!";
- (tied @aData)->autodefer(0);
- (tied @aData)->defer;
- foreach (0..99){
- push @aData, $_;
- }
- <STDIN>;
- (tied @aData)->autodefer(1);
- (tied @aData)->flush;
- untie (@aData);
复制代码 1.> 程序运行完成后, 提示: "Undefined subroutine &main::autodefer called at Z:\test.pl line 15, <STDIN> line 1";
1.1> 我看文档中也是这样使用的, 但是运行后就报告上面的这个错误.
2.> 按照文档中的说明, push, pop, shift, unshift, splice 等函数不支持延迟写入操作但是我在实验时的确看到了延迟的效果;
3.> 以上我的代码中关于 Tie::File 模块的用法是否正确, 还请您给予指点; 为了看到效果我加了一个 <STDIN> 也不知道是不是合适;
期待您的回复, 谢谢您...
|
|