From d56f7e4ca45caec42b6ed197d4843e3e4a665e1f Mon Sep 17 00:00:00 2001 From: Paul Marquess Date: Sat, 1 Sep 2007 21:41:57 +0100 Subject: [PATCH] Compress* 2.006 From: "Paul Marquess" Message-ID: <00f501c7ecd0$29b32ef0$6601a8c0@myopwv.com> p4raw-id: //depot/perl@31782 --- ext/Compress/Raw/Zlib/Changes | 6 +++ ext/Compress/Raw/Zlib/Makefile.PL | 2 + ext/Compress/Raw/Zlib/README | 4 +- ext/Compress/Raw/Zlib/Zlib.xs | 27 ++++++++----- ext/Compress/Raw/Zlib/lib/Compress/Raw/Zlib.pm | 2 +- ext/Compress/Zlib/Changes | 14 +++++++ ext/Compress/Zlib/Makefile.PL | 4 +- ext/Compress/Zlib/README | 6 +-- ext/Compress/Zlib/lib/Compress/Zlib.pm | 45 ++++++++++++++-------- ext/Compress/Zlib/t/03zlib-v1.t | 11 +++++- ext/Compress/Zlib/t/14gzopen.t | 26 ++++++++++++- ext/IO_Compress_Base/Changes | 6 +++ ext/IO_Compress_Base/Makefile.PL | 2 + ext/IO_Compress_Base/README | 4 +- ext/IO_Compress_Base/lib/IO/Compress/Base.pm | 5 +-- .../lib/IO/Compress/Base/Common.pm | 2 +- .../lib/IO/Uncompress/AnyUncompress.pm | 32 +++++++-------- ext/IO_Compress_Base/lib/IO/Uncompress/Base.pm | 4 +- ext/IO_Compress_Zlib/Changes | 11 ++++++ ext/IO_Compress_Zlib/Makefile.PL | 4 +- ext/IO_Compress_Zlib/README | 4 +- .../lib/IO/Compress/Adapter/Deflate.pm | 6 +-- .../lib/IO/Compress/Adapter/Identity.pm | 4 +- ext/IO_Compress_Zlib/lib/IO/Compress/Deflate.pm | 10 ++--- ext/IO_Compress_Zlib/lib/IO/Compress/Gzip.pm | 12 +++--- .../lib/IO/Compress/Gzip/Constants.pm | 2 +- ext/IO_Compress_Zlib/lib/IO/Compress/RawDeflate.pm | 16 ++++---- ext/IO_Compress_Zlib/lib/IO/Compress/Zip.pm | 24 ++++++------ .../lib/IO/Compress/Zip/Constants.pm | 2 +- .../lib/IO/Compress/Zlib/Constants.pm | 2 +- ext/IO_Compress_Zlib/lib/IO/Compress/Zlib/Extra.pm | 4 +- .../lib/IO/Uncompress/Adapter/Identity.pm | 6 +-- .../lib/IO/Uncompress/Adapter/Inflate.pm | 6 +-- .../lib/IO/Uncompress/AnyInflate.pm | 18 ++++----- ext/IO_Compress_Zlib/lib/IO/Uncompress/Gunzip.pm | 14 +++---- ext/IO_Compress_Zlib/lib/IO/Uncompress/Inflate.pm | 8 ++-- .../lib/IO/Uncompress/RawInflate.pm | 10 ++--- ext/IO_Compress_Zlib/lib/IO/Uncompress/Unzip.pm | 16 ++++---- t/lib/compress/generic.pl | 2 +- t/lib/compress/newtied.pl | 2 +- t/lib/compress/tied.pl | 2 +- 41 files changed, 241 insertions(+), 146 deletions(-) diff --git a/ext/Compress/Raw/Zlib/Changes b/ext/Compress/Raw/Zlib/Changes index ffd51a3..6efaaf6 100644 --- a/ext/Compress/Raw/Zlib/Changes +++ b/ext/Compress/Raw/Zlib/Changes @@ -1,6 +1,12 @@ CHANGES ------- + 2.006 1 September 2007 + + * Makefile.PL + Added INSTALLDIRS directive to install as a core module when built + on a perl >= 5.9. + 2.005 18 June 2007 * Only include ppport.h when not being built with perl. diff --git a/ext/Compress/Raw/Zlib/Makefile.PL b/ext/Compress/Raw/Zlib/Makefile.PL index 3eb4006..72a7b89 100644 --- a/ext/Compress/Raw/Zlib/Makefile.PL +++ b/ext/Compress/Raw/Zlib/Makefile.PL @@ -95,6 +95,8 @@ WriteMakefile( : () ), + INSTALLDIRS => ($] >= 5.009 ? 'perl' : 'site'), + ((ExtUtils::MakeMaker->VERSION() gt '6.30') ? ('LICENSE' => 'perl') : ()), diff --git a/ext/Compress/Raw/Zlib/README b/ext/Compress/Raw/Zlib/README index 523f3b3..58ef326 100644 --- a/ext/Compress/Raw/Zlib/README +++ b/ext/Compress/Raw/Zlib/README @@ -1,9 +1,9 @@ Compress::Raw::Zlib - Version 2.005 + Version 2.006 - 18th June 2007 + 1st September 2007 Copyright (c) 2005-2007 Paul Marquess. All rights reserved. diff --git a/ext/Compress/Raw/Zlib/Zlib.xs b/ext/Compress/Raw/Zlib/Zlib.xs index 31b7efd..b100f4c 100644 --- a/ext/Compress/Raw/Zlib/Zlib.xs +++ b/ext/Compress/Raw/Zlib/Zlib.xs @@ -228,7 +228,6 @@ typedef di_stream * Compress__Raw__Zlib__inflateScanStream ; #define adlerInitial adler32(0L, Z_NULL, 0) #define crcInitial crc32(0L, Z_NULL, 0) - static const char * const my_z_errmsg[] = { "need dictionary", /* Z_NEED_DICT 2 */ "stream end", /* Z_STREAM_END 1 */ @@ -607,8 +606,8 @@ BOOT: } -#define Zip_zlib_version() (char*)zlib_version -char* +#define Zip_zlib_version() (const char*)zlib_version +const char* Zip_zlib_version() unsigned @@ -650,6 +649,8 @@ Zip_adler32(buf, adler=adlerInitial) adler = SvUV(ST(1)) ; else adler = adlerInitial; + OUTPUT: + RETVAL #define Zip_crc32(buf, crc) crc32(crc, buf, (uInt)len) @@ -724,9 +725,9 @@ _deflateInit(flags,level, method, windowBits, memLevel, strategy, bufsize, dicti int err ; deflateStream s ; - if (trace) - warn("in _deflateInit(level=%d, method=%d, windowBits=%d, memLevel=%d, strategy=%d, bufsize=%ld\n", - level, method, windowBits, memLevel, strategy, bufsize) ; + if (trace) + warn("in _deflateInit(level=%d, method=%d, windowBits=%d, memLevel=%d, strategy=%d, bufsize=%ld dictionary=%p)\n", + level, method, windowBits, memLevel, strategy, bufsize, dictionary) ; if ((s = InitStream() )) { s->Level = level; @@ -761,8 +762,11 @@ _deflateInit(flags,level, method, windowBits, memLevel, strategy, bufsize, dicti else err = Z_MEM_ERROR ; - XPUSHs(sv_setref_pv(sv_newmortal(), - "Compress::Raw::Zlib::deflateStream", (void*)s)); + { + SV* obj = sv_setref_pv(sv_newmortal(), + "Compress::Raw::Zlib::deflateStream", (void*)s); + XPUSHs(obj); + } if (GIMME == G_ARRAY) { SV * sv = sv_2mortal(newSViv(err)) ; setDUALstatus(sv, err); @@ -814,11 +818,14 @@ _inflateInit(flags, windowBits, bufsize, dictionary) else err = Z_MEM_ERROR ; - XPUSHs(sv_setref_pv(sv_newmortal(), + { + SV* obj = sv_setref_pv(sv_newmortal(), ix == 1 ? "Compress::Raw::Zlib::inflateScanStream" : "Compress::Raw::Zlib::inflateStream", - (void*)s)); + (void*)s); + XPUSHs(obj); + } if (GIMME == G_ARRAY) { SV * sv = sv_2mortal(newSViv(err)) ; setDUALstatus(sv, err); diff --git a/ext/Compress/Raw/Zlib/lib/Compress/Raw/Zlib.pm b/ext/Compress/Raw/Zlib/lib/Compress/Raw/Zlib.pm index 5a0098b..4839ca2 100644 --- a/ext/Compress/Raw/Zlib/lib/Compress/Raw/Zlib.pm +++ b/ext/Compress/Raw/Zlib/lib/Compress/Raw/Zlib.pm @@ -13,7 +13,7 @@ use warnings ; use bytes ; our ($VERSION, $XS_VERSION, @ISA, @EXPORT, $AUTOLOAD); -$VERSION = '2.005'; +$VERSION = '2.006'; $XS_VERSION = $VERSION; $VERSION = eval $VERSION; diff --git a/ext/Compress/Zlib/Changes b/ext/Compress/Zlib/Changes index eff627b..bcc74fb 100644 --- a/ext/Compress/Zlib/Changes +++ b/ext/Compress/Zlib/Changes @@ -1,6 +1,20 @@ CHANGES ------- + 2.006 1 September 20007 + + * Makefile.PL + Added INSTALLDIRS directive to install as a core module when built + on a perl >= 5.9. + + * t/03zlib-v1.t + Fixed crc32 and adler32 tests in to remove ascii assumption. + + * lib/Compress/Zlib.pm + Make gzreadline not support $/, just like in Compress::Zlib 1.x + Folk who want $/ with readline support can get it in + IO::Uncompress::Gunzip. + [rt.cpan.org #28663] and Debian bug #435656 http://bugs.debian.org/435656 2.005 18 June 2007 * Added info about removing Compress::Zlib version 1, before diff --git a/ext/Compress/Zlib/Makefile.PL b/ext/Compress/Zlib/Makefile.PL index f09008e..5c7e838 100755 --- a/ext/Compress/Zlib/Makefile.PL +++ b/ext/Compress/Zlib/Makefile.PL @@ -3,7 +3,7 @@ use strict ; require 5.004 ; -$::VERSION = '2.005' ; +$::VERSION = '2.006' ; use private::MakeUtil; use ExtUtils::MakeMaker 5.16 ; @@ -43,6 +43,8 @@ WriteMakefile( : () ), + INSTALLDIRS => ($] >= 5.009 ? 'perl' : 'site'), + ((ExtUtils::MakeMaker->VERSION() gt '6.30') ? ('LICENSE' => 'perl') : ()), diff --git a/ext/Compress/Zlib/README b/ext/Compress/Zlib/README index 8a36799..24a8317 100644 --- a/ext/Compress/Zlib/README +++ b/ext/Compress/Zlib/README @@ -1,9 +1,9 @@ Compress::Zlib - Version 2.005 + Version 2.006 - 18th June 2007 + 1st September 2007 Copyright (c) 1995-2007 Paul Marquess. All rights reserved. @@ -32,7 +32,7 @@ installed on your system: * Perl 5.004 or better. * Compress::Raw::Zlib - * IO::Compress::Gzip + * IO::Compress::Zlib diff --git a/ext/Compress/Zlib/lib/Compress/Zlib.pm b/ext/Compress/Zlib/lib/Compress/Zlib.pm index e107632..b4b04cd 100644 --- a/ext/Compress/Zlib/lib/Compress/Zlib.pm +++ b/ext/Compress/Zlib/lib/Compress/Zlib.pm @@ -8,17 +8,17 @@ use Carp ; use IO::Handle ; use Scalar::Util qw(dualvar); -use IO::Compress::Base::Common 2.005 ; -use Compress::Raw::Zlib 2.005 ; -use IO::Compress::Gzip 2.005 ; -use IO::Uncompress::Gunzip 2.005 ; +use IO::Compress::Base::Common 2.006 ; +use Compress::Raw::Zlib 2.006 ; +use IO::Compress::Gzip 2.006 ; +use IO::Uncompress::Gunzip 2.006 ; use strict ; use warnings ; use bytes ; our ($VERSION, $XS_VERSION, @ISA, @EXPORT, $AUTOLOAD); -$VERSION = '2.005'; +$VERSION = '2.006'; $XS_VERSION = $VERSION; $VERSION = eval $VERSION; @@ -180,7 +180,12 @@ sub Compress::Zlib::gzFile::gzreadline my $self = shift ; my $gz = $self->[0] ; - $_[0] = $gz->getline() ; + { + # Maintain backward compatibility with 1.x behaviour + # It didn't support $/, so this can't either. + local $/ = "\n" ; + $_[0] = $gz->getline() ; + } _save_gzerr($gz, 1); return defined $_[0] ? length $_[0] : 0 ; } @@ -447,7 +452,7 @@ sub inflate package Compress::Zlib ; -use IO::Compress::Gzip::Constants 2.005 ; +use IO::Compress::Gzip::Constants 2.006 ; sub memGzip($) { @@ -652,12 +657,17 @@ C and C modules for reading/writing gzip files, and the C module for some low-level zlib access. -The interface provided by version 2 should be 100% backward compatible with -version 1. If you find a difference in the expected behaviour please -contact the author (See L). See L +The interface provided by version 2 of this module should be 100% backward +compatible with version 1. If you find a difference in the expected +behaviour please contact the author (See L). See L -If you are writing new code, your first port of call should be to use one -these new modules. +With the creation of the C and C modules no +new features are planned for C - the new modules do +everything that C does and then some. Development on +C will be limited to bug fixes only. + +If you are writing new code, your first port of call should be one of the +new C or C modules. =head1 GZIP INTERFACE @@ -770,11 +780,13 @@ the case of an error, -1. It is legal to intermix calls to C and C. -In addition, C fully supports the use of of the variable C<$/> -(C<$INPUT_RECORD_SEPARATOR> or C<$RS> when C is in use) to -determine what constitutes an end of line. Both paragraph mode and file -slurp mode are supported. +To maintain backward compatibility with version 1.x of this module +C ignores the C<$/> variable - it I uses the string +C<"\n"> as the line delimiter. +If you want to read a gzip file a line at a time and have it respect the +C<$/> variable (or C<$INPUT_RECORD_SEPARATOR>, or C<$RS> when C is +in use) see L. =item B<$byteswritten = $gz-Egzwrite($buffer) ;> @@ -1458,4 +1470,3 @@ modify it under the same terms as Perl itself. - diff --git a/ext/Compress/Zlib/t/03zlib-v1.t b/ext/Compress/Zlib/t/03zlib-v1.t index d46c224..99a80f9 100644 --- a/ext/Compress/Zlib/t/03zlib-v1.t +++ b/ext/Compress/Zlib/t/03zlib-v1.t @@ -868,8 +868,11 @@ if ($] >= 5.005) { title 'CRC32' ; - my $data = 'ZgRNtjgSUW'; # CRC32 of this data should have the high bit set + # CRC32 of this data should have the high bit set + # value in ascii is ZgRNtjgSUW + my $data = "\x5a\x67\x52\x4e\x74\x6a\x67\x53\x55\x57"; my $expected_crc = 0xCF707A2B ; # 3480255019 + my $crc = crc32($data) ; is $crc, $expected_crc; } @@ -877,7 +880,11 @@ if ($] >= 5.005) { title 'Adler32' ; - my $data = 'lpscOVsAJiUfNComkOfWYBcPhHZ[bT'; # adler of this data should have the high bit set + # adler of this data should have the high bit set + # value in ascii is lpscOVsAJiUfNComkOfWYBcPhHZ[bT + my $data = "\x6c\x70\x73\x63\x4f\x56\x73\x41\x4a\x69\x55\x66" . + "\x4e\x43\x6f\x6d\x6b\x4f\x66\x57\x59\x42\x63\x50" . + "\x68\x48\x5a\x5b\x62\x54"; my $expected_crc = 0xAAD60AC7 ; # 2866154183 my $crc = adler32($data) ; is $crc, $expected_crc; diff --git a/ext/Compress/Zlib/t/14gzopen.t b/ext/Compress/Zlib/t/14gzopen.t index f8011e5..805bb0d 100644 --- a/ext/Compress/Zlib/t/14gzopen.t +++ b/ext/Compress/Zlib/t/14gzopen.t @@ -20,7 +20,7 @@ BEGIN { $extra = 1 if eval { require Test::NoWarnings ; import Test::NoWarnings; 1 }; - plan tests => 217 + $extra ; + plan tests => 250 + $extra ; use_ok('Compress::Zlib', 2) ; use_ok('IO::Compress::Gzip::Constants') ; @@ -601,3 +601,27 @@ foreach my $stdio ( ['-', '-'], [*STDIN, *STDOUT]) ok defined $buf2, " output buffer defined"; is $buf2, "", " output buffer empty string"; } + +{ + title 'gzreadline does not support $/'; + + my $lex = new LexFile my $name ; + + my $a = gzopen($name, "w"); + my $text = "fred\n"; + my $len = length $text; + $a->gzwrite($text); + $a->gzwrite("\n\n"); + $a->gzclose ; + + for my $delim ( undef, "", 0, 1, "abc", $text, "\n\n", "\n" ) + { + local $/ = $delim; + my $u = gzopen($name, "r"); + my $line; + is $u->gzreadline($line), length $text, " read $len bytes"; + is $line, $text, " got expected line"; + ok ! $u->gzclose, " closed" ; + is $/, $delim, ' $/ unchanged by gzreadline'; + } +} diff --git a/ext/IO_Compress_Base/Changes b/ext/IO_Compress_Base/Changes index 4d0068b..5cba002 100644 --- a/ext/IO_Compress_Base/Changes +++ b/ext/IO_Compress_Base/Changes @@ -1,6 +1,12 @@ CHANGES ------- + 2.006 1 September 20007 + + * Makefile.PL + Added INSTALLDIRS directive to install as a core module when built + on a perl >= 5.9. + 2.005 18 June 2007 * Stephen Turner reported a problem when using IO::Uncompress::Gunzip diff --git a/ext/IO_Compress_Base/Makefile.PL b/ext/IO_Compress_Base/Makefile.PL index 751538a..8695dee 100644 --- a/ext/IO_Compress_Base/Makefile.PL +++ b/ext/IO_Compress_Base/Makefile.PL @@ -35,6 +35,8 @@ WriteMakefile( : () ), + INSTALLDIRS => ($] >= 5.009 ? 'perl' : 'site'), + ((ExtUtils::MakeMaker->VERSION() gt '6.30') ? ('LICENSE' => 'perl') : ()), diff --git a/ext/IO_Compress_Base/README b/ext/IO_Compress_Base/README index c499ea2..77ff580 100644 --- a/ext/IO_Compress_Base/README +++ b/ext/IO_Compress_Base/README @@ -1,9 +1,9 @@ IO::Compress::Base - Version 2.005 + Version 2.006 - 18th June 2007 + 1st September 2007 Copyright (c) 2005-2007 Paul Marquess. All rights reserved. diff --git a/ext/IO_Compress_Base/lib/IO/Compress/Base.pm b/ext/IO_Compress_Base/lib/IO/Compress/Base.pm index 901d351..4545290 100644 --- a/ext/IO_Compress_Base/lib/IO/Compress/Base.pm +++ b/ext/IO_Compress_Base/lib/IO/Compress/Base.pm @@ -6,7 +6,7 @@ require 5.004 ; use strict ; use warnings; -use IO::Compress::Base::Common 2.005 ; +use IO::Compress::Base::Common 2.006 ; use IO::File ; use Scalar::Util qw(blessed readonly); @@ -20,7 +20,7 @@ use bytes; our (@ISA, $VERSION); @ISA = qw(Exporter IO::File); -$VERSION = '2.005'; +$VERSION = '2.006'; #Can't locate object method "SWASHNEW" via package "utf8" (perhaps you forgot to load "utf8"?) at .../ext/Compress-Zlib/Gzip/blib/lib/Compress/Zlib/Common.pm line 16. @@ -988,4 +988,3 @@ This program is free software; you can redistribute it and/or modify it under the same terms as Perl itself. - diff --git a/ext/IO_Compress_Base/lib/IO/Compress/Base/Common.pm b/ext/IO_Compress_Base/lib/IO/Compress/Base/Common.pm index faef2ab..99c2084 100644 --- a/ext/IO_Compress_Base/lib/IO/Compress/Base/Common.pm +++ b/ext/IO_Compress_Base/lib/IO/Compress/Base/Common.pm @@ -11,7 +11,7 @@ use File::GlobMapper; require Exporter; our ($VERSION, @ISA, @EXPORT, %EXPORT_TAGS, $HAS_ENCODE); @ISA = qw(Exporter); -$VERSION = '2.005'; +$VERSION = '2.006'; @EXPORT = qw( isaFilehandle isaFilename whatIsInput whatIsOutput isaFileGlobString cleanFileGlobString oneTarget diff --git a/ext/IO_Compress_Base/lib/IO/Uncompress/AnyUncompress.pm b/ext/IO_Compress_Base/lib/IO/Uncompress/AnyUncompress.pm index f129224..e943411 100644 --- a/ext/IO_Compress_Base/lib/IO/Uncompress/AnyUncompress.pm +++ b/ext/IO_Compress_Base/lib/IO/Uncompress/AnyUncompress.pm @@ -4,16 +4,16 @@ use strict; use warnings; use bytes; -use IO::Compress::Base::Common 2.005 qw(createSelfTiedObject); +use IO::Compress::Base::Common 2.006 qw(createSelfTiedObject); -use IO::Uncompress::Base 2.005 ; +use IO::Uncompress::Base 2.006 ; require Exporter ; our ($VERSION, @ISA, @EXPORT_OK, %EXPORT_TAGS, $AnyUncompressError); -$VERSION = '2.005'; +$VERSION = '2.006'; $AnyUncompressError = ''; @ISA = qw( Exporter IO::Uncompress::Base ); @@ -27,18 +27,18 @@ Exporter::export_ok_tags('all'); BEGIN { - eval ' use IO::Uncompress::Adapter::Inflate 2.005 ;'; - eval ' use IO::Uncompress::Adapter::Bunzip2 2.005 ;'; - eval ' use IO::Uncompress::Adapter::LZO 2.005 ;'; - eval ' use IO::Uncompress::Adapter::Lzf 2.005 ;'; - - eval ' use IO::Uncompress::Bunzip2 2.005 ;'; - eval ' use IO::Uncompress::UnLzop 2.005 ;'; - eval ' use IO::Uncompress::Gunzip 2.005 ;'; - eval ' use IO::Uncompress::Inflate 2.005 ;'; - eval ' use IO::Uncompress::RawInflate 2.005 ;'; - eval ' use IO::Uncompress::Unzip 2.005 ;'; - eval ' use IO::Uncompress::UnLzf 2.005 ;'; + eval ' use IO::Uncompress::Adapter::Inflate 2.006 ;'; + eval ' use IO::Uncompress::Adapter::Bunzip2 2.006 ;'; + eval ' use IO::Uncompress::Adapter::LZO 2.006 ;'; + eval ' use IO::Uncompress::Adapter::Lzf 2.006 ;'; + + eval ' use IO::Uncompress::Bunzip2 2.006 ;'; + eval ' use IO::Uncompress::UnLzop 2.006 ;'; + eval ' use IO::Uncompress::Gunzip 2.006 ;'; + eval ' use IO::Uncompress::Inflate 2.006 ;'; + eval ' use IO::Uncompress::RawInflate 2.006 ;'; + eval ' use IO::Uncompress::Unzip 2.006 ;'; + eval ' use IO::Uncompress::UnLzf 2.006 ;'; } sub new @@ -56,7 +56,7 @@ sub anyuncompress sub getExtraParams { - use IO::Compress::Base::Common 2.005 qw(:Parse); + use IO::Compress::Base::Common 2.006 qw(:Parse); return ( 'RawInflate' => [1, 1, Parse_boolean, 0] ) ; } diff --git a/ext/IO_Compress_Base/lib/IO/Uncompress/Base.pm b/ext/IO_Compress_Base/lib/IO/Uncompress/Base.pm index 71321e0..02d7804 100644 --- a/ext/IO_Compress_Base/lib/IO/Uncompress/Base.pm +++ b/ext/IO_Compress_Base/lib/IO/Uncompress/Base.pm @@ -9,12 +9,12 @@ our (@ISA, $VERSION, @EXPORT_OK, %EXPORT_TAGS); @ISA = qw(Exporter IO::File); -$VERSION = '2.005'; +$VERSION = '2.006'; use constant G_EOF => 0 ; use constant G_ERR => -1 ; -use IO::Compress::Base::Common 2.005 ; +use IO::Compress::Base::Common 2.006 ; #use Parse::Parameters ; use IO::File ; diff --git a/ext/IO_Compress_Zlib/Changes b/ext/IO_Compress_Zlib/Changes index bf3d78e..959773d 100644 --- a/ext/IO_Compress_Zlib/Changes +++ b/ext/IO_Compress_Zlib/Changes @@ -1,6 +1,17 @@ CHANGES ------- + 2.006 1 September 2007 + + * Makefile.PL + Added INSTALLDIRS directive to install as a core module when built + on a perl >= 5.9. + + * IO::Uncompress::RawDeflate + + - Fixed export problem - "$RawDeflateError" and "rawdeflate" were + not being exported with ":all". + 2.005 18 June 2007 * IO::Compress::Gzip & IO::Uncompress::Gunzip diff --git a/ext/IO_Compress_Zlib/Makefile.PL b/ext/IO_Compress_Zlib/Makefile.PL index 9bffb07..fbc3460 100644 --- a/ext/IO_Compress_Zlib/Makefile.PL +++ b/ext/IO_Compress_Zlib/Makefile.PL @@ -3,7 +3,7 @@ use strict ; require 5.004 ; -$::VERSION = '2.005' ; +$::VERSION = '2.006' ; use private::MakeUtil; use ExtUtils::MakeMaker 5.16 ; @@ -49,6 +49,8 @@ WriteMakefile( : () ), + INSTALLDIRS => ($] >= 5.009 ? 'perl' : 'site'), + ((ExtUtils::MakeMaker->VERSION() gt '6.30') ? ('LICENSE' => 'perl') : ()), diff --git a/ext/IO_Compress_Zlib/README b/ext/IO_Compress_Zlib/README index 2622fa0..18e7d30 100644 --- a/ext/IO_Compress_Zlib/README +++ b/ext/IO_Compress_Zlib/README @@ -1,9 +1,9 @@ IO::Compress::Zlib - Version 2.005 + Version 2.006 - 18th June 2007 + 1st September 2007 Copyright (c) 2005-2007 Paul Marquess. All rights reserved. diff --git a/ext/IO_Compress_Zlib/lib/IO/Compress/Adapter/Deflate.pm b/ext/IO_Compress_Zlib/lib/IO/Compress/Adapter/Deflate.pm index dfeb20b..9190916 100644 --- a/ext/IO_Compress_Zlib/lib/IO/Compress/Adapter/Deflate.pm +++ b/ext/IO_Compress_Zlib/lib/IO/Compress/Adapter/Deflate.pm @@ -4,12 +4,12 @@ use strict; use warnings; use bytes; -use IO::Compress::Base::Common 2.005 qw(:Status); +use IO::Compress::Base::Common 2.006 qw(:Status); -use Compress::Raw::Zlib 2.005 qw(Z_OK Z_FINISH MAX_WBITS) ; +use Compress::Raw::Zlib 2.006 qw(Z_OK Z_FINISH MAX_WBITS) ; our ($VERSION); -$VERSION = '2.005'; +$VERSION = '2.006'; sub mkCompObject { diff --git a/ext/IO_Compress_Zlib/lib/IO/Compress/Adapter/Identity.pm b/ext/IO_Compress_Zlib/lib/IO/Compress/Adapter/Identity.pm index cb52223..1269418 100644 --- a/ext/IO_Compress_Zlib/lib/IO/Compress/Adapter/Identity.pm +++ b/ext/IO_Compress_Zlib/lib/IO/Compress/Adapter/Identity.pm @@ -4,10 +4,10 @@ use strict; use warnings; use bytes; -use IO::Compress::Base::Common 2.005 qw(:Status); +use IO::Compress::Base::Common 2.006 qw(:Status); our ($VERSION); -$VERSION = '2.005'; +$VERSION = '2.006'; sub mkCompObject { diff --git a/ext/IO_Compress_Zlib/lib/IO/Compress/Deflate.pm b/ext/IO_Compress_Zlib/lib/IO/Compress/Deflate.pm index 8ec541b..76b83db 100644 --- a/ext/IO_Compress_Zlib/lib/IO/Compress/Deflate.pm +++ b/ext/IO_Compress_Zlib/lib/IO/Compress/Deflate.pm @@ -6,16 +6,16 @@ use bytes; require Exporter ; -use IO::Compress::RawDeflate 2.005 ; +use IO::Compress::RawDeflate 2.006 ; -use Compress::Raw::Zlib 2.005 ; -use IO::Compress::Zlib::Constants 2.005 ; -use IO::Compress::Base::Common 2.005 qw(createSelfTiedObject); +use Compress::Raw::Zlib 2.006 ; +use IO::Compress::Zlib::Constants 2.006 ; +use IO::Compress::Base::Common 2.006 qw(createSelfTiedObject); our ($VERSION, @ISA, @EXPORT_OK, %EXPORT_TAGS, $DeflateError); -$VERSION = '2.005'; +$VERSION = '2.006'; $DeflateError = ''; @ISA = qw(Exporter IO::Compress::RawDeflate); diff --git a/ext/IO_Compress_Zlib/lib/IO/Compress/Gzip.pm b/ext/IO_Compress_Zlib/lib/IO/Compress/Gzip.pm index f1b801b..360fa7f 100644 --- a/ext/IO_Compress_Zlib/lib/IO/Compress/Gzip.pm +++ b/ext/IO_Compress_Zlib/lib/IO/Compress/Gzip.pm @@ -8,12 +8,12 @@ use warnings; use bytes; -use IO::Compress::RawDeflate 2.005 ; +use IO::Compress::RawDeflate 2.006 ; -use Compress::Raw::Zlib 2.005 ; -use IO::Compress::Base::Common 2.005 qw(:Status :Parse createSelfTiedObject); -use IO::Compress::Gzip::Constants 2.005 ; -use IO::Compress::Zlib::Extra 2.005 ; +use Compress::Raw::Zlib 2.006 ; +use IO::Compress::Base::Common 2.006 qw(:Status :Parse createSelfTiedObject); +use IO::Compress::Gzip::Constants 2.006 ; +use IO::Compress::Zlib::Extra 2.006 ; BEGIN { @@ -27,7 +27,7 @@ require Exporter ; our ($VERSION, @ISA, @EXPORT_OK, %EXPORT_TAGS, $GzipError); -$VERSION = '2.005'; +$VERSION = '2.006'; $GzipError = '' ; @ISA = qw(Exporter IO::Compress::RawDeflate); diff --git a/ext/IO_Compress_Zlib/lib/IO/Compress/Gzip/Constants.pm b/ext/IO_Compress_Zlib/lib/IO/Compress/Gzip/Constants.pm index 6992357..2b6a49d 100644 --- a/ext/IO_Compress_Zlib/lib/IO/Compress/Gzip/Constants.pm +++ b/ext/IO_Compress_Zlib/lib/IO/Compress/Gzip/Constants.pm @@ -9,7 +9,7 @@ require Exporter; our ($VERSION, @ISA, @EXPORT, %GZIP_OS_Names); our ($GZIP_FNAME_INVALID_CHAR_RE, $GZIP_FCOMMENT_INVALID_CHAR_RE); -$VERSION = '2.005'; +$VERSION = '2.006'; @ISA = qw(Exporter); diff --git a/ext/IO_Compress_Zlib/lib/IO/Compress/RawDeflate.pm b/ext/IO_Compress_Zlib/lib/IO/Compress/RawDeflate.pm index d3900db..bf85d33 100644 --- a/ext/IO_Compress_Zlib/lib/IO/Compress/RawDeflate.pm +++ b/ext/IO_Compress_Zlib/lib/IO/Compress/RawDeflate.pm @@ -7,21 +7,20 @@ use warnings; use bytes; -use IO::Compress::Base 2.005 ; -use IO::Compress::Base::Common 2.005 qw(:Status createSelfTiedObject); -use IO::Compress::Adapter::Deflate 2.005 ; +use IO::Compress::Base 2.006 ; +use IO::Compress::Base::Common 2.006 qw(:Status createSelfTiedObject); +use IO::Compress::Adapter::Deflate 2.006 ; require Exporter ; our ($VERSION, @ISA, @EXPORT_OK, %DEFLATE_CONSTANTS, %EXPORT_TAGS, $RawDeflateError); -$VERSION = '2.005'; +$VERSION = '2.006'; $RawDeflateError = ''; @ISA = qw(Exporter IO::Compress::Base); @EXPORT_OK = qw( $RawDeflateError rawdeflate ) ; -push @{ $EXPORT_TAGS{all} }, @EXPORT_OK ; %EXPORT_TAGS = ( flush => [qw{ Z_NO_FLUSH @@ -58,8 +57,11 @@ push @{ $EXPORT_TAGS{all} }, @EXPORT_OK ; $EXPORT_TAGS{all} = $EXPORT_TAGS{constants} ; } + %DEFLATE_CONSTANTS = %EXPORT_TAGS; +push @{ $EXPORT_TAGS{all} }, @EXPORT_OK ; + Exporter::export_ok_tags('all'); @@ -141,8 +143,8 @@ sub getZlibParams { my $self = shift ; - use IO::Compress::Base::Common 2.005 qw(:Parse); - use Compress::Raw::Zlib 2.005 qw(Z_DEFLATED Z_DEFAULT_COMPRESSION Z_DEFAULT_STRATEGY); + use IO::Compress::Base::Common 2.006 qw(:Parse); + use Compress::Raw::Zlib 2.006 qw(Z_DEFLATED Z_DEFAULT_COMPRESSION Z_DEFAULT_STRATEGY); return ( diff --git a/ext/IO_Compress_Zlib/lib/IO/Compress/Zip.pm b/ext/IO_Compress_Zlib/lib/IO/Compress/Zip.pm index 4ba7e6f..fb59059 100644 --- a/ext/IO_Compress_Zlib/lib/IO/Compress/Zip.pm +++ b/ext/IO_Compress_Zlib/lib/IO/Compress/Zip.pm @@ -4,21 +4,21 @@ use strict ; use warnings; use bytes; -use IO::Compress::Base::Common 2.005 qw(:Status createSelfTiedObject); -use IO::Compress::RawDeflate 2.005 ; -use IO::Compress::Adapter::Deflate 2.005 ; -use IO::Compress::Adapter::Identity 2.005 ; -use IO::Compress::Zlib::Extra 2.005 ; -use IO::Compress::Zip::Constants 2.005 ; +use IO::Compress::Base::Common 2.006 qw(:Status createSelfTiedObject); +use IO::Compress::RawDeflate 2.006 ; +use IO::Compress::Adapter::Deflate 2.006 ; +use IO::Compress::Adapter::Identity 2.006 ; +use IO::Compress::Zlib::Extra 2.006 ; +use IO::Compress::Zip::Constants 2.006 ; -use Compress::Raw::Zlib 2.005 qw(crc32) ; +use Compress::Raw::Zlib 2.006 qw(crc32) ; BEGIN { eval { require IO::Compress::Adapter::Bzip2 ; - import IO::Compress::Adapter::Bzip2 2.005 ; + import IO::Compress::Adapter::Bzip2 2.006 ; require IO::Compress::Bzip2 ; - import IO::Compress::Bzip2 2.005 ; + import IO::Compress::Bzip2 2.006 ; } ; } @@ -27,7 +27,7 @@ require Exporter ; our ($VERSION, @ISA, @EXPORT_OK, %EXPORT_TAGS, $ZipError); -$VERSION = '2.005'; +$VERSION = '2.006'; $ZipError = ''; @ISA = qw(Exporter IO::Compress::RawDeflate); @@ -441,8 +441,8 @@ sub getExtraParams { my $self = shift ; - use IO::Compress::Base::Common 2.005 qw(:Parse); - use Compress::Raw::Zlib 2.005 qw(Z_DEFLATED Z_DEFAULT_COMPRESSION Z_DEFAULT_STRATEGY); + use IO::Compress::Base::Common 2.006 qw(:Parse); + use Compress::Raw::Zlib 2.006 qw(Z_DEFLATED Z_DEFAULT_COMPRESSION Z_DEFAULT_STRATEGY); my @Bzip2 = (); diff --git a/ext/IO_Compress_Zlib/lib/IO/Compress/Zip/Constants.pm b/ext/IO_Compress_Zlib/lib/IO/Compress/Zip/Constants.pm index f1338a6..e679566 100644 --- a/ext/IO_Compress_Zlib/lib/IO/Compress/Zip/Constants.pm +++ b/ext/IO_Compress_Zlib/lib/IO/Compress/Zip/Constants.pm @@ -7,7 +7,7 @@ require Exporter; our ($VERSION, @ISA, @EXPORT, %ZIP_CM_MIN_VERSIONS); -$VERSION = '2.005'; +$VERSION = '2.006'; @ISA = qw(Exporter); diff --git a/ext/IO_Compress_Zlib/lib/IO/Compress/Zlib/Constants.pm b/ext/IO_Compress_Zlib/lib/IO/Compress/Zlib/Constants.pm index 980d126..3b5cbff 100644 --- a/ext/IO_Compress_Zlib/lib/IO/Compress/Zlib/Constants.pm +++ b/ext/IO_Compress_Zlib/lib/IO/Compress/Zlib/Constants.pm @@ -9,7 +9,7 @@ require Exporter; our ($VERSION, @ISA, @EXPORT); -$VERSION = '2.005'; +$VERSION = '2.006'; @ISA = qw(Exporter); diff --git a/ext/IO_Compress_Zlib/lib/IO/Compress/Zlib/Extra.pm b/ext/IO_Compress_Zlib/lib/IO/Compress/Zlib/Extra.pm index bd7ac2e..0cc3f5c 100644 --- a/ext/IO_Compress_Zlib/lib/IO/Compress/Zlib/Extra.pm +++ b/ext/IO_Compress_Zlib/lib/IO/Compress/Zlib/Extra.pm @@ -8,9 +8,9 @@ use bytes; our ($VERSION, @ISA, @EXPORT_OK, %EXPORT_TAGS); -$VERSION = '2.005'; +$VERSION = '2.006'; -use IO::Compress::Gzip::Constants 2.005 ; +use IO::Compress::Gzip::Constants 2.006 ; sub ExtraFieldError { diff --git a/ext/IO_Compress_Zlib/lib/IO/Uncompress/Adapter/Identity.pm b/ext/IO_Compress_Zlib/lib/IO/Uncompress/Adapter/Identity.pm index 1e50612..be7253b 100644 --- a/ext/IO_Compress_Zlib/lib/IO/Uncompress/Adapter/Identity.pm +++ b/ext/IO_Compress_Zlib/lib/IO/Uncompress/Adapter/Identity.pm @@ -4,13 +4,13 @@ use warnings; use strict; use bytes; -use IO::Compress::Base::Common 2.005 qw(:Status); +use IO::Compress::Base::Common 2.006 qw(:Status); our ($VERSION); -$VERSION = '2.005'; +$VERSION = '2.006'; -use Compress::Raw::Zlib 2.005 (); +use Compress::Raw::Zlib 2.006 (); sub mkUncompObject { diff --git a/ext/IO_Compress_Zlib/lib/IO/Uncompress/Adapter/Inflate.pm b/ext/IO_Compress_Zlib/lib/IO/Uncompress/Adapter/Inflate.pm index 2a7125d..2d3fcb8 100644 --- a/ext/IO_Compress_Zlib/lib/IO/Uncompress/Adapter/Inflate.pm +++ b/ext/IO_Compress_Zlib/lib/IO/Uncompress/Adapter/Inflate.pm @@ -4,11 +4,11 @@ use strict; use warnings; use bytes; -use IO::Compress::Base::Common 2.005 qw(:Status); -use Compress::Raw::Zlib 2.005 qw(Z_OK Z_DATA_ERROR Z_STREAM_END Z_FINISH MAX_WBITS); +use IO::Compress::Base::Common 2.006 qw(:Status); +use Compress::Raw::Zlib 2.006 qw(Z_OK Z_DATA_ERROR Z_STREAM_END Z_FINISH MAX_WBITS); our ($VERSION); -$VERSION = '2.005'; +$VERSION = '2.006'; diff --git a/ext/IO_Compress_Zlib/lib/IO/Uncompress/AnyInflate.pm b/ext/IO_Compress_Zlib/lib/IO/Uncompress/AnyInflate.pm index 8e5544e..0917c97 100644 --- a/ext/IO_Compress_Zlib/lib/IO/Uncompress/AnyInflate.pm +++ b/ext/IO_Compress_Zlib/lib/IO/Uncompress/AnyInflate.pm @@ -6,22 +6,22 @@ use strict; use warnings; use bytes; -use IO::Compress::Base::Common 2.005 qw(createSelfTiedObject); +use IO::Compress::Base::Common 2.006 qw(createSelfTiedObject); -use IO::Uncompress::Adapter::Inflate 2.005 (); +use IO::Uncompress::Adapter::Inflate 2.006 (); -use IO::Uncompress::Base 2.005 ; -use IO::Uncompress::Gunzip 2.005 ; -use IO::Uncompress::Inflate 2.005 ; -use IO::Uncompress::RawInflate 2.005 ; -use IO::Uncompress::Unzip 2.005 ; +use IO::Uncompress::Base 2.006 ; +use IO::Uncompress::Gunzip 2.006 ; +use IO::Uncompress::Inflate 2.006 ; +use IO::Uncompress::RawInflate 2.006 ; +use IO::Uncompress::Unzip 2.006 ; require Exporter ; our ($VERSION, @ISA, @EXPORT_OK, %EXPORT_TAGS, $AnyInflateError); -$VERSION = '2.005'; +$VERSION = '2.006'; $AnyInflateError = ''; @ISA = qw( Exporter IO::Uncompress::Base ); @@ -48,7 +48,7 @@ sub anyinflate sub getExtraParams { - use IO::Compress::Base::Common 2.005 qw(:Parse); + use IO::Compress::Base::Common 2.006 qw(:Parse); return ( 'RawInflate' => [1, 1, Parse_boolean, 0] ) ; } diff --git a/ext/IO_Compress_Zlib/lib/IO/Uncompress/Gunzip.pm b/ext/IO_Compress_Zlib/lib/IO/Uncompress/Gunzip.pm index 383470a..f4ba32e 100644 --- a/ext/IO_Compress_Zlib/lib/IO/Uncompress/Gunzip.pm +++ b/ext/IO_Compress_Zlib/lib/IO/Uncompress/Gunzip.pm @@ -9,12 +9,12 @@ use strict ; use warnings; use bytes; -use IO::Uncompress::RawInflate 2.005 ; +use IO::Uncompress::RawInflate 2.006 ; -use Compress::Raw::Zlib 2.005 qw( crc32 ) ; -use IO::Compress::Base::Common 2.005 qw(:Status createSelfTiedObject); -use IO::Compress::Gzip::Constants 2.005 ; -use IO::Compress::Zlib::Extra 2.005 ; +use Compress::Raw::Zlib 2.006 qw( crc32 ) ; +use IO::Compress::Base::Common 2.006 qw(:Status createSelfTiedObject); +use IO::Compress::Gzip::Constants 2.006 ; +use IO::Compress::Zlib::Extra 2.006 ; require Exporter ; @@ -28,7 +28,7 @@ Exporter::export_ok_tags('all'); $GunzipError = ''; -$VERSION = '2.005'; +$VERSION = '2.006'; sub new { @@ -47,7 +47,7 @@ sub gunzip sub getExtraParams { - use IO::Compress::Base::Common 2.005 qw(:Parse); + use IO::Compress::Base::Common 2.006 qw(:Parse); return ( 'ParseExtra' => [1, 1, Parse_boolean, 0] ) ; } diff --git a/ext/IO_Compress_Zlib/lib/IO/Uncompress/Inflate.pm b/ext/IO_Compress_Zlib/lib/IO/Uncompress/Inflate.pm index bd9452b..6888ec2 100644 --- a/ext/IO_Compress_Zlib/lib/IO/Uncompress/Inflate.pm +++ b/ext/IO_Compress_Zlib/lib/IO/Uncompress/Inflate.pm @@ -5,15 +5,15 @@ use strict ; use warnings; use bytes; -use IO::Compress::Base::Common 2.005 qw(:Status createSelfTiedObject); -use IO::Compress::Zlib::Constants 2.005 ; +use IO::Compress::Base::Common 2.006 qw(:Status createSelfTiedObject); +use IO::Compress::Zlib::Constants 2.006 ; -use IO::Uncompress::RawInflate 2.005 ; +use IO::Uncompress::RawInflate 2.006 ; require Exporter ; our ($VERSION, @ISA, @EXPORT_OK, %EXPORT_TAGS, $InflateError); -$VERSION = '2.005'; +$VERSION = '2.006'; $InflateError = ''; @ISA = qw( Exporter IO::Uncompress::RawInflate ); diff --git a/ext/IO_Compress_Zlib/lib/IO/Uncompress/RawInflate.pm b/ext/IO_Compress_Zlib/lib/IO/Uncompress/RawInflate.pm index a1b438f..1a70466 100644 --- a/ext/IO_Compress_Zlib/lib/IO/Uncompress/RawInflate.pm +++ b/ext/IO_Compress_Zlib/lib/IO/Uncompress/RawInflate.pm @@ -5,11 +5,11 @@ use strict ; use warnings; use bytes; -use Compress::Raw::Zlib 2.005 ; -use IO::Compress::Base::Common 2.005 qw(:Status createSelfTiedObject); +use Compress::Raw::Zlib 2.006 ; +use IO::Compress::Base::Common 2.006 qw(:Status createSelfTiedObject); -use IO::Uncompress::Base 2.005 ; -use IO::Uncompress::Adapter::Inflate 2.005 ; +use IO::Uncompress::Base 2.006 ; +use IO::Uncompress::Adapter::Inflate 2.006 ; @@ -17,7 +17,7 @@ use IO::Uncompress::Adapter::Inflate 2.005 ; require Exporter ; our ($VERSION, @ISA, @EXPORT_OK, %EXPORT_TAGS, %DEFLATE_CONSTANTS, $RawInflateError); -$VERSION = '2.005'; +$VERSION = '2.006'; $RawInflateError = ''; @ISA = qw( Exporter IO::Uncompress::Base ); diff --git a/ext/IO_Compress_Zlib/lib/IO/Uncompress/Unzip.pm b/ext/IO_Compress_Zlib/lib/IO/Uncompress/Unzip.pm index 3721fba..c482fc2 100644 --- a/ext/IO_Compress_Zlib/lib/IO/Uncompress/Unzip.pm +++ b/ext/IO_Compress_Zlib/lib/IO/Uncompress/Unzip.pm @@ -8,13 +8,13 @@ use strict ; use warnings; use bytes; -use IO::Uncompress::RawInflate 2.005 ; -use IO::Compress::Base::Common 2.005 qw(:Status createSelfTiedObject); -use IO::Uncompress::Adapter::Identity 2.005 ; -use IO::Compress::Zlib::Extra 2.005 ; -use IO::Compress::Zip::Constants 2.005 ; +use IO::Uncompress::RawInflate 2.006 ; +use IO::Compress::Base::Common 2.006 qw(:Status createSelfTiedObject); +use IO::Uncompress::Adapter::Identity 2.006 ; +use IO::Compress::Zlib::Extra 2.006 ; +use IO::Compress::Zip::Constants 2.006 ; -use Compress::Raw::Zlib 2.005 qw(crc32) ; +use Compress::Raw::Zlib 2.006 qw(crc32) ; BEGIN { @@ -27,7 +27,7 @@ require Exporter ; our ($VERSION, @ISA, @EXPORT_OK, %EXPORT_TAGS, $UnzipError, %headerLookup); -$VERSION = '2.005'; +$VERSION = '2.006'; $UnzipError = ''; @ISA = qw(Exporter IO::Uncompress::RawInflate); @@ -60,7 +60,7 @@ sub unzip sub getExtraParams { - use IO::Compress::Base::Common 2.005 qw(:Parse); + use IO::Compress::Base::Common 2.006 qw(:Parse); return ( diff --git a/t/lib/compress/generic.pl b/t/lib/compress/generic.pl index 79e62c3..51b45fc 100644 --- a/t/lib/compress/generic.pl +++ b/t/lib/compress/generic.pl @@ -612,7 +612,7 @@ EOM my $foo = "1234567890"; is $io->syswrite($foo, length($foo)), length($foo), " syswrite ok" ; - if ( $[ < 5.6 ) + if ( $] < 5.6 ) { is $io->syswrite($foo, length $foo), length $foo, " syswrite ok" } else { is $io->syswrite($foo), length $foo, " syswrite ok" } diff --git a/t/lib/compress/newtied.pl b/t/lib/compress/newtied.pl index 395039b..41861e9 100644 --- a/t/lib/compress/newtied.pl +++ b/t/lib/compress/newtied.pl @@ -103,7 +103,7 @@ sub run my $foo = "1234567890"; ok syswrite($io, $foo, length($foo)) == length($foo) ; - if ( $[ < 5.6 ) + if ( $] < 5.6 ) { is $io->syswrite($foo, length $foo), length $foo } else { is $io->syswrite($foo), length $foo } diff --git a/t/lib/compress/tied.pl b/t/lib/compress/tied.pl index 7833b9a..80d42b7 100644 --- a/t/lib/compress/tied.pl +++ b/t/lib/compress/tied.pl @@ -150,7 +150,7 @@ sub run my $foo = "1234567890"; ok syswrite($io, $foo, length($foo)) == length($foo) ; - if ( $[ < 5.6 ) + if ( $] < 5.6 ) { is $io->syswrite($foo, length $foo), length $foo } else { is $io->syswrite($foo), length $foo } -- 2.7.4