.\" Automatically generated by Pod::Man v1.3, Pod::Parser v1.13 .\" .\" 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. | will give a .\" real vertical bar. \*(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-|\(bv\*(Tr .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\} .\" .\" 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. .if \nF \{\ . de IX . tm Index:\\$1\t\\n%\t"\\$2" .. . nr % 0 . rr F .\} .\" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .hy 0 .if n .na .\" .\" 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 "Docs::Site_SVD::Tie_Gzip 3" .TH Docs::Site_SVD::Tie_Gzip 3 "2004-04-16" "perl v5.6.1" "User Contributed Perl Documentation" .UC .SH "Title Page" .IX Header "Title Page" .Vb 1 \& Software Version Description .Ve .Vb 1 \& for .Ve .Vb 1 \& Tie::Gzip - gzip with a small memory footprint .Ve .Vb 1 \& Revision: E .Ve .Vb 1 \& Version: 0.06 .Ve .Vb 1 \& Date: 2004/04/16 .Ve .Vb 1 \& Prepared for: General Public .Ve .Vb 1 \& Prepared by: SoftwareDiamonds.com Esupport@SoftwareDiamonds.comE .Ve .Vb 1 \& Copyright: copyright © 2003 Software Diamonds .Ve .Vb 1 \& Classification: NONE .Ve .SH "1.0 SCOPE" .IX Header "1.0 SCOPE" This paragraph identifies and provides an overview of the released files. .Sh "1.1 Identification" .IX Subsection "1.1 Identification" This release, identified in 3.2, is a collection of Perl modules that extend the capabilities of the Perl language. .Sh "1.2 System overview" .IX Subsection "1.2 System overview" The 'Tie::Gzip' module provides a file handle Tie for compressing and uncompressing files using the gzip format. .PP By tieing a filehandle to 'Tie::Gzip' subsequent uses of the file subroutines with the tied filehandle will compress data written to an opened file using gzip compression and decompress data read from an opened file using gzip compression. .PP If the 'Tie::Gzip' tie receives a \fIfilename\fR or \fImode filename\fR after completing the tie, 'Tie::Gzip' will open \fIfilename\fR. .PP During the tie, Tie::Gzip will first try to load the \&'Compress::Zlib' module and package. If successful, 'Tie::Gzip' uses the 'Compress::Zlib' for compressing and decompressing the file data. .PP If unsuccessful, 'Tie::Gzip' setups up the following pipes to an anticipated \s-1GNU\s0 'gzip' site command for compressing and decompressing the file data: .PP .Vb 2 \& gzip --decompress --stdout {} | # read file data \& | gzip --stdout > {} # write file data .Ve where the string '{}' is a placeholder for the \fIfilename\fR. .Sh "1.3 Document overview." .IX Subsection "1.3 Document overview." This document releases Tie::Gzip version 0.06 providing a description of the inventory, installation instructions and other information necessary to utilize and track this release. .SH "3.0 VERSION DESCRIPTION" .IX Header "3.0 VERSION DESCRIPTION" All file specifications in this \s-1SVD\s0 use the Unix operating system file specification. .Sh "3.1 Inventory of materials released." .IX Subsection "3.1 Inventory of materials released." This document releases the file .PP .Vb 1 \& Tie-Gzip-0.06.tar.gz .Ve found at the following repository(s): .PP .Vb 2 \& http://www.softwarediamonds/packages/ \& http://www.perl.com/CPAN/authors/id/S/SO/SOFTDIA/ .Ve Restrictions regarding duplication and license provisions are as follows: .IP "Copyright." 4 .IX Item "Copyright." copyright © 2003 Software Diamonds .IP "Copyright holder contact." 4 .IX Item "Copyright holder contact." .Vb 1 \& 603 882-0846 Esupport@SoftwareDiamonds.comE .Ve .IP "License." 4 .IX Item "License." Software Diamonds permits the redistribution and use in source and binary forms, with or without modification, provided that the following conditions are met: .RS 4 .IP "1" 4 .IX Item "1" Redistributions of source code, modified or unmodified must retain the above copyright notice, this list of conditions and the following disclaimer. .IP "2" 4 .IX Item "2" Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. .RE .RS 4 .Sp \&\s-1SOFTWARE\s0 \s-1DIAMONDS\s0, http://www.SoftwareDiamonds.com, \&\s-1PROVIDES\s0 \s-1THIS\s0 \s-1SOFTWARE\s0 \&'\s-1AS\s0 \s-1IS\s0' \s-1AND\s0 \s-1ANY\s0 \s-1EXPRESS\s0 \s-1OR\s0 \s-1IMPLIED\s0 \s-1WARRANTIES\s0, \&\s-1INCLUDING\s0, \s-1BUT\s0 \s-1NOT\s0 \s-1LIMITED\s0 \s-1TO\s0, \s-1THE\s0 \s-1IMPLIED\s0 \&\s-1WARRANTIES\s0 \s-1OF\s0 \s-1MERCHANTABILITY\s0 \s-1AND\s0 \s-1FITNESS\s0 \s-1FOR\s0 A \s-1PARTICULAR\s0 \s-1PURPOSE\s0 \s-1ARE\s0 \s-1DISCLAIMED\s0. \s-1IN\s0 \s-1NO\s0 \s-1EVENT\s0 \&\s-1SHALL\s0 \s-1SOFTWARE\s0 \s-1DIAMONDS\s0 \s-1BE\s0 \s-1LIABLE\s0 \s-1FOR\s0 \s-1ANY\s0 \s-1DIRECT\s0, \&\s-1INDIRECT\s0, \s-1INCIDENTAL\s0, \s-1SPECIAL\s0,EXEMPLARY, \s-1OR\s0 \&\s-1CONSEQUENTIAL\s0 \s-1DAMAGES\s0 (\s-1INCLUDING\s0, \s-1BUT\s0 \s-1NOT\s0 \s-1LIMITED\s0 \&\s-1TO\s0, \s-1PROCUREMENT\s0 \s-1OF\s0 \s-1SUBSTITUTE\s0 \s-1GOODS\s0 \s-1OR\s0 \s-1SERVICES\s0; \&\s-1LOSS\s0 \s-1OF\s0 \s-1USE\s0,DATA, \s-1OR\s0 \s-1PROFITS\s0; \s-1OR\s0 \s-1BUSINESS\s0 \&\s-1INTERRUPTION\s0) \s-1HOWEVER\s0 \s-1CAUSED\s0 \s-1AND\s0 \s-1ON\s0 \s-1ANY\s0 \s-1THEORY\s0 \&\s-1OF\s0 \s-1LIABILITY\s0, \s-1WHETHER\s0 \s-1IN\s0 \s-1CONTRACT\s0, \s-1STRICT\s0 \s-1LIABILITY\s0, \&\s-1OR\s0 \s-1TORT\s0 (\s-1INCLUDING\s0 \s-1USE\s0 \s-1OF\s0 \s-1THIS\s0 \s-1SOFTWARE\s0, \s-1EVEN\s0 \s-1IF\s0 \&\s-1ADVISED\s0 \s-1OF\s0 \s-1NEGLIGENCE\s0 \s-1OR\s0 \s-1OTHERWISE\s0) \s-1ARISING\s0 \s-1IN\s0 \&\s-1ANY\s0 \s-1WAY\s0 \s-1OUT\s0 \s-1OF\s0 \s-1THE\s0 \s-1POSSIBILITY\s0 \s-1OF\s0 \s-1SUCH\s0 \s-1DAMAGE\s0. .RE .Sh "3.2 Inventory of software contents" .IX Subsection "3.2 Inventory of software contents" The content of the released, compressed, archieve file, consists of the following files: .PP .Vb 16 \& file version date comment \& ------------------------------------------------------------ ------- ---------- ------------------------ \& lib/Docs/Site_SVD/Tie_Gzip.pm 0.06 2004/04/16 revised 0.05 \& MANIFEST 0.06 2004/04/16 generated, replaces 0.05 \& Makefile.PL 0.06 2004/04/16 generated, replaces 0.05 \& README 0.06 2004/04/16 generated, replaces 0.05 \& lib/Tie/Gzip.pm 1.15 2004/04/16 revised 1.14 \& t/Tie/Gzip.pm 0.05 2004/04/16 revised 0.04 \& t/Tie/Gzip.t 0.04 2004/04/16 revised 0.03 \& t/Tie/Gzip.d 0.04 2004/04/16 revised 0.03 \& t/Tie/File/Package.pm 1.16 2004/04/16 unchanged \& t/Tie/File/SmartNL.pm 1.13 2004/04/16 unchanged \& t/Tie/Test/Tech.pm 1.2 2004/04/16 revised 1.19 \& t/Tie/Data/Secs2.pm 1.17 2004/04/16 revised 1.16 \& t/Tie/Data/SecsPack.pm 0.02 2004/04/16 unchanged \& t/Tie/gzip0.htm 0.06 2004/04/16 unchanged .Ve .Sh "3.3 Changes" .IX Subsection "3.3 Changes" Changes are as follows .IP "Tie::Gzip\-0.01" 4 .IX Item "Tie::Gzip-0.01" Originated .IP "Tie::Gzip\-0.02" 4 .IX Item "Tie::Gzip-0.02" Installed Mark Scarton's engineering change request per below e\-mail: .Sp From: Mark.Scarton@FranklinCovey.com Date: Thu, 19 Feb 2004 17:23:37 \-0700 .Sp In the 'lib/Tie/Gzip.pm' module of the Tie\-Gzip\-0.01 package, the open of the pipe (\*(L"gzip \-\-decompress \-\-stdout |\*(R") is failing due to the reference to $! in the conditional. As a test, I cleared $! before issuing the open call as follows: .Sp .Vb 1 \& Line 124: .Ve .Vb 12 \& ############### \& # Some perls will return a glob and a warning \& # for certain pipe errors such as the command \& # not a recognized command \& # \& $! = 0; ### MAS ### \& my $success = open PIPE, $pipe; \& if($! || !$success) { \& warn "Could not pipe $pipe: $!\en"; \& $self->CLOSE; \& return undef; \& } .Ve .Vb 1 \& Line 167: .Ve .Vb 12 \& ############### \& # Some perls will return a glob and a warning \& # for certain pipe errors such as the command \& # not a recognized command \& # \& $! = 0; ### MAS ### \& my $success = open PIPE, $pipe; \& if($! || !$success) { \& warn "Could not pipe $pipe: $!\en"; \& $self->CLOSE; \& return undef; \& } .Ve This works. Prior to making this change, test 6 of Gzip.t would fail. .Sp According to the Learning Perl O'Reilly book, .Sp \&\*(L"But if you use die to indicate an error that is not the failure of a system request, don't include $!, since it will generally hold an unrelated message left over from something Perl did internally. It will hold a useful value only immediately after a failed system request. A successful request won't leave anything useful there.\*(R" .Sp So $! is only sourced when a system error occurs and it is not cleared prior to the call. If no error occurs, the value is indeterminate. .IP "Tie::Gzip\-0.03" 4 .IX Item "Tie::Gzip-0.03" prerequisite program because loaded the Data::Secs2 test modules to tlib\eTest instead of tlib\eData. .IP "Tie::Gzip\-0.04" 4 .IX Item "Tie::Gzip-0.04" The lastest build of Test::STDmaker expects the test library in the same directory as the test script. Coordiated with the lastest Test::STDmaker by moving the test library from tlib to t/Tie, the same directory as the test script and deleting the test library File::TestPath program module. .Sp http://ppm.activestate.com/BuildStatus/5.8\-linux/linux\-5.8/Tie\-Gzip\-0.03.txt .Sp has the following failures: .Sp .Vb 8 \& PERL_DL_NONLAZY=1 /home/cpanrun/tmp/5.8.0/bin/perl "-MExtUtils::Command::MM" "-e" "test_harness(0, 'blib/lib', 'blib/arch')" t/Tie/Gzip.t \& t/Tie/Gzip....Could not pipe | gzip --stdout > Gzip1.htm.gz: Illegal seek \& Could not pipe gzip --decompress --stdout Gzip1.htm.gz |: Illegal seek \& Could not pipe gzip --decompress --stdout Gzip1.htm.gz |: Illegal seek \& # Cannot open \& .Ve .Vb 1 \& [snip] .Ve .Vb 7 \& FAILED test 9 \& Failed 1/11 tests, 90.91% okay (less 5 skipped tests: 5 okay, 45.45%) \& Failed 1/1 test scripts, 0.00% okay. 1/11 subtests failed, 90.91% okay. \& Failed Test Stat Wstat Total Fail Failed List of Failed \& ------------------------------------------------------------------------------- \& t/Tie/Gzip.t 11 1 9.09% 9 \& 5 subtests skipped. .Ve The test script is not right and this is a false failure. The test script uses the features to force the \f(CW\*(C`ok\*(C'\fR and \f(CW\*(C`skip\*(C'\fR to perform a skip. However, this does not work for Perl code outside the \f(CW\*(C`ok\*(C'\fR and \f(CW\*(C`skip\*(C'\fR subroutines. Added test code to skip outside the \f(CW\*(C`ok\*(C'\fR and \f(CW\*(C`skip\*(C'\fR subroutines. .IP "Tie::Gzip\-0.05" 4 .IX Item "Tie::Gzip-0.05" The distribution \f(CW\*(C`Tie::Gzip\-0.04\*(C'\fR failed acrossed many systems. Very strange since it passes as follows: .Sp .Vb 3 \& PASSED: \& # Running under perl version 5.006001 for MSWin32 \& # Win32::BuildNumber 635 .Ve .Vb 1 \& FAILED: .Ve .Vb 1 \& t/Tie/Gzip....Bareword "gz_package" not allowed while "strict subs" in use at t/Tie/Gzip.t line 265. .Ve .Vb 3 \& Summary of my perl5 (revision 5.0 version 8 subversion 0) configuration: \& Platform: \& osname=linux, osvers=2.4.22-4tr, archname=i586-linux .Ve .Vb 3 \& Summary of my perl5 (revision 5.0 version 8 subversion 1) configuration: \& Platform: \& osname=solaris, osvers=2.8, archname=sun4-solaris .Ve .Vb 3 \& Summary of my perl5 (revision 5.0 version 8 subversion 3) configuration: \& Platform: \& osname=solaris, osvers=2.8, archname=sun4-solaris-thread-multi .Ve .Vb 3 \& Summary of my perl5 (revision 5.0 version 8 subversion 3) configuration: \& Platform: \& osname=darwin, osvers=7.2.0, archname=ppc-darwin-thread-multi .Ve The failure is real. Placed the ommitted $ in front of gz_package and try again. .IP "Tie::Gzip\-0.06" 4 .IX Item "Tie::Gzip-0.06" All the Unix machines are failing as follows: .Sp .Vb 6 \& Use of uninitialized value in string eq at t/Tie/Gzip.t line 243. \& # Cannot open support@SoftwareDiamonds.comE .Ve .Sh "3.7 Possible problems and known errors" .IX Subsection "3.7 Possible problems and known errors" There are no known open issues. .SH "4.0 NOTES" .IX Header "4.0 NOTES" The following are useful acronyms: .IP ".d" 4 .IX Item ".d" extension for a Perl demo script file .IP ".pm" 4 .IX Item ".pm" extension for a Perl Library Module .IP ".t" 4 .IX Item ".t" extension for a Perl test script file .SH "2.0 SEE ALSO" .IX Header "2.0 SEE ALSO" .IP "Docs::US_DOD::SVD" 4 .IX Item "Docs::US_DOD::SVD" .Vb 2 \& http://www.softwarediamonds/packages/ Docs-US_DOD-STD2167A-X.XX.tar.gz \& http://www.perl.com/CPAN/authors/id/S/SO/SOFTDIA/ Docs-US_DOD-STD2167A-X.XX.tar.gz .Ve