mockfilehandle.pm

来自「视频监控网络部分的协议ddns,的模块的实现代码,请大家大胆指正.」· PM 代码 · 共 70 行

PM
70
字号
package Archive::Zip::MockFileHandle;# Output file handle that calls a custom write routine# Ned Konz, March 2000# This is provided to help with writing zip files# when you have to process them a chunk at a time.use strict;use vars qw{$VERSION};BEGIN {    $VERSION = '1.23';    $VERSION = eval $VERSION;}sub new {    my $class = shift || __PACKAGE__;    $class = ref($class) || $class;    my $self = bless(        {            'position' => 0,            'size'     => 0        },        $class    );    return $self;}sub eof {    my $self = shift;    return $self->{'position'} >= $self->{'size'};}# Copy given buffer to mesub print {    my $self         = shift;    my $bytes        = join( '', @_ );    my $bytesWritten = $self->writeHook($bytes);    if ( $self->{'position'} + $bytesWritten > $self->{'size'} ) {        $self->{'size'} = $self->{'position'} + $bytesWritten;    }    $self->{'position'} += $bytesWritten;    return $bytesWritten;}# Called on each write.# Override in subclasses.# Return number of bytes written (0 on error).sub writeHook {    my $self  = shift;    my $bytes = shift;    return length($bytes);}sub binmode { 1 }sub close { 1 }sub clearerr { 1 }# I'm write-only!sub read { 0 }sub tell { return shift->{'position'} }sub opened { 1 }1;

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?