⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 stringmember.pm

📁 视频监控网络部分的协议ddns,的模块的实现代码,请大家大胆指正.
💻 PM
字号:
package Archive::Zip::StringMember;use strict;use vars qw( $VERSION @ISA );BEGIN {    $VERSION = '1.23';    @ISA     = qw( Archive::Zip::Member );}use Archive::Zip qw(  :CONSTANTS  :ERROR_CODES);# Create a new string member. Default is COMPRESSION_STORED.# Can take a ref to a string as well.sub _newFromString {    my $class  = shift;    my $string = shift;    my $name   = shift;    my $self   = $class->new(@_);    $self->contents($string);    $self->fileName($name) if defined($name);    # Set the file date to now    $self->setLastModFileDateTimeFromUnix( time() );    $self->unixFileAttributes( $self->DEFAULT_FILE_PERMISSIONS );    return $self;}sub _become {    my $self     = shift;    my $newClass = shift;    return $self if ref($self) eq $newClass;    delete( $self->{'contents'} );    return $self->SUPER::_become($newClass);}# Get or set my contents. Note that we do not call the superclass# version of this, because it calls us.sub contents {    my $self   = shift;    my $string = shift;    if ( defined($string) ) {        $self->{'contents'} =          pack( 'C0a*', ( ref($string) eq 'SCALAR' ) ? $$string : $string );        $self->{'uncompressedSize'} = $self->{'compressedSize'} =          length( $self->{'contents'} );        $self->{'compressionMethod'} = COMPRESSION_STORED;    }    return $self->{'contents'};}# Return bytes read. Note that first parameter is a ref to a buffer.# my $data;# my ( $bytesRead, $status) = $self->readRawChunk( \$data, $chunkSize );sub _readRawChunk {    my ( $self, $dataRef, $chunkSize ) = @_;    $$dataRef = substr( $self->contents(), $self->_readOffset(), $chunkSize );    return ( length($$dataRef), AZ_OK );}1;

⌨️ 快捷键说明

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