2008/7/8 Gary R. Van Sickle <[EMAIL PROTECTED]>: > Hi Reini, > > It looks like something changed between perl 5.10.0-4 and -5 which breaks > the DateTime module from CPAN (version 0.4302, latest). The attached Simple > Test Case(tm) results in only the following errors: > > Use of uninitialized value $id in pattern match (m//) at > /usr/lib/perl5/site_perl/5.10/DateTime/Locale.pm line 65.
Bad side-effect with a third party module in site_perl. Strange that I didn't see this in my tests, because I tested over thousand CPAN modules with this release. Oh, I see, I reported that it failed on June 5. $ cpan DateTime requires DateTime::Locale DateTime::Locale cannot be installed because of this error, but since you upgraded perl we have to fix DateTime::Locale now. Oops. This seems to affect more modules. Params::Validate with type => SCALAR seems to be broken. http://rt.cpan.org/NoAuth/ReportBug.html?Queue=Params%3A%3AValidate I have to go now, but will provide a patch soon. As workaround I would disable the validation in DateTime::Locale::_register but this also doesn't work as expected. if (! defined $p{id} or !$id) { # cygperl5 error in Params::Validate? #warn "Broken Params::Validate. Given ".join(",",@_); $p{id} = $_[0]; $p{en_language} = $_[1]; my @keys = qw(en_script en_territory en_variant native_language native_script native_territory native_variant class replace); for my $i (2 .. @_) { $p{$keys[$i]} = $_[$i]; } } > Use of uninitialized value $id in exists at > /usr/lib/perl5/site_perl/5.10/DateTime/Locale.pm line 68. > Use of uninitialized value $native_pieces[0] in join or string at > /usr/lib/perl5/site_perl/5.10/DateTime/Locale.pm line 83. > Use of uninitialized value $id in hash element at > /usr/lib/perl5/site_perl/5.10/DateTime/Locale.pm line 85. > Use of uninitialized value $id in hash element at > /usr/lib/perl5/site_perl/5.10/DateTime/Locale.pm line 90. > Use of uninitialized value $id in pattern match (m//) at > /usr/lib/perl5/site_perl/5.10/DateTime/Locale.pm line 65. > Use of uninitialized value $id in exists at > /usr/lib/perl5/site_perl/5.10/DateTime/Locale.pm line 68. > Use of uninitialized value $id in concatenation (.) or string at > /usr/lib/perl5/site_perl/5.10/DateTime/Locale.pm line 68. > You cannot replace an existing locale ('') unless you also specify the > 'replace' parameter as true > BEGIN failed--compilation aborted at > /usr/lib/perl5/site_perl/5.10/DateTime/Locale.pm line 151. > Compilation failed in require at > /usr/lib/perl5/site_perl/5.10/i686-cygwin/DateTime.pm line 46. > BEGIN failed--compilation aborted at > /usr/lib/perl5/site_perl/5.10/i686-cygwin/DateTime.pm line 46. > Compilation failed in require at ./simple_test_case_datetime.pl line 3. > BEGIN failed--compilation aborted at ./simple_test_case_datetime.pl line 3. > > Doing the "perl -MExtUtils::Installed [...]"/"cpan `cat module.list`" thing > (and also a "force install DateTime") results in the same errors, and > needless to say doesn't end up generating a working DateTime module. This > same version of DateTime did work without error in 5.10.0-4 and does work > with 5.8.8-4. > > -- > Gary R. Van Sickle > > -- > Unsubscribe info: http://cygwin.com/ml/#unsubscribe-simple > Problem reports: http://cygwin.com/problems.html > Documentation: http://cygwin.com/docs.html > FAQ: http://cygwin.com/faq/ > -- Reini Urban http://phpwiki.org/ http://murbreak.at/ -- Unsubscribe info: http://cygwin.com/ml/#unsubscribe-simple Problem reports: http://cygwin.com/problems.html Documentation: http://cygwin.com/docs.html FAQ: http://cygwin.com/faq/