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

📄 io::uncompress::anyuncompress.3

📁 视频监控网络部分的协议ddns,的模块的实现代码,请大家大胆指正.
💻 3
📖 第 1 页 / 共 2 页
字号:
.\" Automatically generated by Pod::Man 2.16 (Pod::Simple 3.05).\".\" Standard preamble:.\" ========================================================================.de Sh \" Subsection heading.br.if t .Sp.ne 5.PP\fB\\$1\fR.PP...de Sp \" Vertical space (when we can't use .PP).if t .sp .5v.if n .sp...de Vb \" Begin verbatim text.ft CW.nf.ne \\$1...de Ve \" End verbatim text.ft R.fi...\" Set up some character translations and predefined strings.  \*(-- will.\" give an unbreakable dash, \*(PI will give pi, \*(L" will give a left.\" double quote, and \*(R" will give a right double quote.  \*(C+ will.\" give a nicer C++.  Capital omega is used to do unbreakable dashes and.\" therefore won't be available.  \*(C` and \*(C' expand to `' in nroff,.\" nothing in troff, for use with C<>..tr \(*W-.ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p'.ie n \{\.    ds -- \(*W-.    ds PI pi.    if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch.    if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\"  diablo 12 pitch.    ds L" "".    ds R" "".    ds C` "".    ds C' ""'br\}.el\{\.    ds -- \|\(em\|.    ds PI \(*p.    ds L" ``.    ds R" '''br\}.\".\" Escape single quotes in literal strings from groff's Unicode transform..ie \n(.g .ds Aq \(aq.el       .ds Aq '.\".\" If the F register is turned on, we'll generate index entries on stderr for.\" titles (.TH), headers (.SH), subsections (.Sh), items (.Ip), and index.\" entries marked with X<> in POD.  Of course, you'll have to process the.\" output yourself in some meaningful fashion..ie \nF \{\.    de IX.    tm Index:\\$1\t\\n%\t"\\$2"...    nr % 0.    rr F.\}.el \{\.    de IX...\}.\".\" Accent mark definitions (@(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2)..\" Fear.  Run.  Save yourself.  No user-serviceable parts..    \" fudge factors for nroff and troff.if n \{\.    ds #H 0.    ds #V .8m.    ds #F .3m.    ds #[ \f1.    ds #] \fP.\}.if t \{\.    ds #H ((1u-(\\\\n(.fu%2u))*.13m).    ds #V .6m.    ds #F 0.    ds #[ \&.    ds #] \&.\}.    \" simple accents for nroff and troff.if n \{\.    ds ' \&.    ds ` \&.    ds ^ \&.    ds , \&.    ds ~ ~.    ds /.\}.if t \{\.    ds ' \\k:\h'-(\\n(.wu*8/10-\*(#H)'\'\h"|\\n:u".    ds ` \\k:\h'-(\\n(.wu*8/10-\*(#H)'\`\h'|\\n:u'.    ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'^\h'|\\n:u'.    ds , \\k:\h'-(\\n(.wu*8/10)',\h'|\\n:u'.    ds ~ \\k:\h'-(\\n(.wu-\*(#H-.1m)'~\h'|\\n:u'.    ds / \\k:\h'-(\\n(.wu*8/10-\*(#H)'\z\(sl\h'|\\n:u'.\}.    \" troff and (daisy-wheel) nroff accents.ds : \\k:\h'-(\\n(.wu*8/10-\*(#H+.1m+\*(#F)'\v'-\*(#V'\z.\h'.2m+\*(#F'.\h'|\\n:u'\v'\*(#V'.ds 8 \h'\*(#H'\(*b\h'-\*(#H'.ds o \\k:\h'-(\\n(.wu+\w'\(de'u-\*(#H)/2u'\v'-.3n'\*(#[\z\(de\v'.3n'\h'|\\n:u'\*(#].ds d- \h'\*(#H'\(pd\h'-\w'~'u'\v'-.25m'\f2\(hy\fP\v'.25m'\h'-\*(#H'.ds D- D\\k:\h'-\w'D'u'\v'-.11m'\z\(hy\v'.11m'\h'|\\n:u'.ds th \*(#[\v'.3m'\s+1I\s-1\v'-.3m'\h'-(\w'I'u*2/3)'\s-1o\s+1\*(#].ds Th \*(#[\s+2I\s-2\h'-\w'I'u*3/5'\v'-.3m'o\v'.3m'\*(#].ds ae a\h'-(\w'a'u*4/10)'e.ds Ae A\h'-(\w'A'u*4/10)'E.    \" corrections for vroff.if v .ds ~ \\k:\h'-(\\n(.wu*9/10-\*(#H)'\s-2\u~\d\s+2\h'|\\n:u'.if v .ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'\v'-.4m'^\v'.4m'\h'|\\n:u'.    \" for low resolution devices (crt and lpr).if \n(.H>23 .if \n(.V>19 \\{\.    ds : e.    ds 8 ss.    ds o a.    ds d- d\h'-1'\(ga.    ds D- D\h'-1'\(hy.    ds th \o'bp'.    ds Th \o'LP'.    ds ae ae.    ds Ae AE.\}.rm #[ #] #H #V #F C.\" ========================================================================.\".IX Title "IO::Uncompress::AnyUncompress 3".TH IO::Uncompress::AnyUncompress 3 "2007-12-18" "perl v5.10.0" "Perl Programmers Reference Guide".\" For nroff, turn off justification.  Always turn off hyphenation; it makes.\" way too many mistakes in technical documents..if n .ad l.nh.SH "NAME"IO::Uncompress::AnyUncompress \- Uncompress gzip, zip, bzip2 or lzop file/buffer.SH "SYNOPSIS".IX Header "SYNOPSIS".Vb 1\&    use IO::Uncompress::AnyUncompress qw(anyuncompress $AnyUncompressError) ;\&\&    my $status = anyuncompress $input => $output [,OPTS]\&        or die "anyuncompress failed: $AnyUncompressError\en";\&\&    my $z = new IO::Uncompress::AnyUncompress $input [OPTS] \&        or die "anyuncompress failed: $AnyUncompressError\en";\&\&    $status = $z\->read($buffer)\&    $status = $z\->read($buffer, $length)\&    $status = $z\->read($buffer, $length, $offset)\&    $line = $z\->getline()\&    $char = $z\->getc()\&    $char = $z\->ungetc()\&    $char = $z\->opened()\&\&    $data = $z\->trailingData()\&    $status = $z\->nextStream()\&    $data = $z\->getHeaderInfo()\&    $z\->tell()\&    $z\->seek($position, $whence)\&    $z\->binmode()\&    $z\->fileno()\&    $z\->eof()\&    $z\->close()\&\&    $AnyUncompressError ;\&\&    # IO::File mode\&\&    <$z>\&    read($z, $buffer);\&    read($z, $buffer, $length);\&    read($z, $buffer, $length, $offset);\&    tell($z)\&    seek($z, $position, $whence)\&    binmode($z)\&    fileno($z)\&    eof($z)\&    close($z).Ve.SH "DESCRIPTION".IX Header "DESCRIPTION"This module provides a Perl interface that allows the reading offiles/buffers that have been compressed with a variety of compressionlibraries..PPThe formats supported are:.IP "\s-1RFC\s0 1950" 5.IX Item "RFC 1950".PD 0.IP "\s-1RFC\s0 1951 (optionally)" 5.IX Item "RFC 1951 (optionally)".IP "gzip (\s-1RFC\s0 1952)" 5.IX Item "gzip (RFC 1952)".IP "zip" 5.IX Item "zip".IP "bzip2" 5.IX Item "bzip2".IP "lzop" 5.IX Item "lzop".IP "lzf" 5.IX Item "lzf".PD.PPThe module will auto-detect which, if any, of the supportedcompression formats is being used..SH "Functional Interface".IX Header "Functional Interface"A top-level function, \f(CW\*(C`anyuncompress\*(C'\fR, is provided to carry out\&\*(L"one-shot\*(R" uncompression between buffers and/or files. For finercontrol over the uncompression process, see the \*(L"\s-1OO\s0 Interface\*(R"section..PP.Vb 1\&    use IO::Uncompress::AnyUncompress qw(anyuncompress $AnyUncompressError) ;\&\&    anyuncompress $input => $output [,OPTS] \&        or die "anyuncompress failed: $AnyUncompressError\en";.Ve.PPThe functional interface needs Perl5.005 or better..ie n .Sh "anyuncompress $input\fP => \f(CW$output [, \s-1OPTS\s0]".el .Sh "anyuncompress \f(CW$input\fP => \f(CW$output\fP [, \s-1OPTS\s0]".IX Subsection "anyuncompress $input => $output [, OPTS]"\&\f(CW\*(C`anyuncompress\*(C'\fR expects at least two parameters, \f(CW$input\fR and \f(CW$output\fR..PP\fIThe \f(CI$input\fI parameter\fR.IX Subsection "The $input parameter".PPThe parameter, \f(CW$input\fR, is used to define the source ofthe compressed data..PPIt can take one of the following forms:.IP "A filename" 5.IX Item "A filename"If the \f(CW$input\fR parameter is a simple scalar, it is assumed to be afilename. This file will be opened for reading and the input datawill be read from it..IP "A filehandle" 5.IX Item "A filehandle"If the \f(CW$input\fR parameter is a filehandle, the input data will beread from it.The string '\-' can be used as an alias for standard input..IP "A scalar reference" 5.IX Item "A scalar reference"If \f(CW$input\fR is a scalar reference, the input data will be readfrom \f(CW$$input\fR..IP "An array reference" 5.IX Item "An array reference"If \f(CW$input\fR is an array reference, each element in the array must be afilename..SpThe input data will be read from each file in turn..SpThe complete array will be walked to ensure that it onlycontains valid filenames before any data is uncompressed..IP "An Input FileGlob string" 5.IX Item "An Input FileGlob string"If \f(CW$input\fR is a string that is delimited by the characters \*(L"<\*(R" and \*(L">\*(R"\&\f(CW\*(C`anyuncompress\*(C'\fR will assume that it is an \fIinput fileglob string\fR. Theinput is the list of files that match the fileglob..SpIf the fileglob does not match any files ....SpSee File::GlobMapper for more details..PPIf the \f(CW$input\fR parameter is any other type, \f(CW\*(C`undef\*(C'\fR will be returned..PP\fIThe \f(CI$output\fI parameter\fR.IX Subsection "The $output parameter".PPThe parameter \f(CW$output\fR is used to control the destination of theuncompressed data. This parameter can take one of these forms..IP "A filename" 5.IX Item "A filename"If the \f(CW$output\fR parameter is a simple scalar, it is assumed to be afilename.  This file will be opened for writing and the uncompresseddata will be written to it..IP "A filehandle" 5.IX Item "A filehandle"If the \f(CW$output\fR parameter is a filehandle, the uncompressed datawill be written to it.The string '\-' can be used as an alias for standard output..IP "A scalar reference" 5.IX Item "A scalar reference"If \f(CW$output\fR is a scalar reference, the uncompressed data will bestored in \f(CW$$output\fR..IP "An Array Reference" 5.IX Item "An Array Reference"If \f(CW$output\fR is an array reference, the uncompressed data will bepushed onto the array..IP "An Output FileGlob" 5.IX Item "An Output FileGlob"If \f(CW$output\fR is a string that is delimited by the characters \*(L"<\*(R" and \*(L">\*(R"\&\f(CW\*(C`anyuncompress\*(C'\fR will assume that it is an \fIoutput fileglob string\fR. Theoutput is the list of files that match the fileglob..SpWhen \f(CW$output\fR is an fileglob string, \f(CW$input\fR must also be a fileglobstring. Anything else is an error..PPIf the \f(CW$output\fR parameter is any other type, \f(CW\*(C`undef\*(C'\fR will be returned..Sh "Notes".IX Subsection "Notes"When \f(CW$input\fR maps to multiple compressed files/buffers and \f(CW$output\fR isa single file/buffer, after uncompression \f(CW$output\fR will contain aconcatenation of all the uncompressed data from each of the inputfiles/buffers..Sh "Optional Parameters".IX Subsection "Optional Parameters"Unless specified below, the optional parameters for \f(CW\*(C`anyuncompress\*(C'\fR,\&\f(CW\*(C`OPTS\*(C'\fR, are the same as those used with the \s-1OO\s0 interface defined in the\&\*(L"Constructor Options\*(R" section below..ie n .IP """AutoClose => 0|1""" 5.el .IP "\f(CWAutoClose => 0|1\fR" 5.IX Item "AutoClose => 0|1"This option applies to any input or output data streams to \&\f(CW\*(C`anyuncompress\*(C'\fR that are filehandles..SpIf \f(CW\*(C`AutoClose\*(C'\fR is specified, and the value is true, it will result in allinput and/or output filehandles being closed once \f(CW\*(C`anyuncompress\*(C'\fR hascompleted..SpThis parameter defaults to 0..ie n .IP """BinModeOut => 0|1""" 5.el .IP "\f(CWBinModeOut => 0|1\fR" 5.IX Item "BinModeOut => 0|1"When writing to a file or filehandle, set \f(CW\*(C`binmode\*(C'\fR before writing to thefile..SpDefaults to 0..ie n .IP """Append => 0|1""" 5.el .IP "\f(CWAppend => 0|1\fR" 5.IX Item "Append => 0|1"\&\s-1TODO\s0.ie n .IP """MultiStream => 0|1""" 5.el .IP "\f(CWMultiStream => 0|1\fR" 5.IX Item "MultiStream => 0|1"If the input file/buffer contains multiple compressed data streams, thisoption will uncompress the whole lot as a single data stream..SpDefaults to 0..ie n .IP """TrailingData => $scalar""" 5.el .IP "\f(CWTrailingData => $scalar\fR" 5.IX Item "TrailingData => $scalar"Returns the data, if any, that is present immediately after the compresseddata stream once uncompression is complete..SpThis option can be used when there is useful information immediatelyfollowing the compressed data stream, and you don't know the length of thecompressed data stream..SpIf the input is a buffer, \f(CW\*(C`trailingData\*(C'\fR will return everything from theend of the compressed data stream to the end of the buffer..SpIf the input is a filehandle, \f(CW\*(C`trailingData\*(C'\fR will return the data that isleft in the filehandle input buffer once the end of the compressed datastream has been reached. You can then use the filehandle to read the restof the input file..SpDon't bother using \f(CW\*(C`trailingData\*(C'\fR if the input is a filename..SpIf you know the length of the compressed data stream before you startuncompressing, you can avoid having to use \f(CW\*(C`trailingData\*(C'\fR by setting the\&\f(CW\*(C`InputLength\*(C'\fR option..Sh "Examples".IX Subsection "Examples"To read the contents of the file \f(CW\*(C`file1.txt.Compressed\*(C'\fR and write thecompressed data to the file \f(CW\*(C`file1.txt\*(C'\fR..PP.Vb 3\&    use strict ;\&    use warnings ;\&    use IO::Uncompress::AnyUncompress qw(anyuncompress $AnyUncompressError) ;\&\&    my $input = "file1.txt.Compressed";\&    my $output = "file1.txt";\&    anyuncompress $input => $output\&        or die "anyuncompress failed: $AnyUncompressError\en";.Ve.PPTo read from an existing Perl filehandle, \f(CW$input\fR, and write theuncompressed data to a buffer, \f(CW$buffer\fR..PP.Vb 4\&    use strict ;\&    use warnings ;\&    use IO::Uncompress::AnyUncompress qw(anyuncompress $AnyUncompressError) ;\&    use IO::File ;\&\&    my $input = new IO::File "<file1.txt.Compressed"\&        or die "Cannot open \*(Aqfile1.txt.Compressed\*(Aq: $!\en" ;\&    my $buffer ;\&    anyuncompress $input => \e$buffer \&        or die "anyuncompress failed: $AnyUncompressError\en";.Ve.PPTo uncompress all files in the directory \*(L"/my/home\*(R" that match \*(L"*.txt.Compressed\*(R" and store the compressed data in the same directory.PP.Vb 3\&    use strict ;\&    use warnings ;\&    use IO::Uncompress::AnyUncompress qw(anyuncompress $AnyUncompressError) ;\&\&    anyuncompress \*(Aq</my/home/*.txt.Compressed>\*(Aq => \*(Aq</my/home/#1.txt>\*(Aq\&        or die "anyuncompress failed: $AnyUncompressError\en";.Ve.PPand if you want to compress each file one at a time, this will do the trick.PP.Vb 3\&    use strict ;\&    use warnings ;\&    use IO::Uncompress::AnyUncompress qw(anyuncompress $AnyUncompressError) ;\&\&    for my $input ( glob "/my/home/*.txt.Compressed" )\&    {\&        my $output = $input;\&        $output =~ s/.Compressed// ;\&        anyuncompress $input => $output \&            or die "Error compressing \*(Aq$input\*(Aq: $AnyUncompressError\en";\&    }.Ve.SH "OO Interface".IX Header "OO Interface"

⌨️ 快捷键说明

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