constant-1.17 diff -urN perl-5.10.0.orig/lib/constant.pm perl-5.10.0/lib/constant.pm --- perl-5.10.0.orig/lib/constant.pm 2007-12-18 11:47:07.000000000 +0100 +++ perl-5.10.0/lib/constant.pm 2008-10-29 22:38:47.000000000 +0100 @@ -4,7 +4,7 @@ use warnings::register; use vars qw($VERSION %declared); -$VERSION = '1.13'; +$VERSION = '1.17'; #======================================================================= @@ -168,7 +168,7 @@ far less likely to send a space probe to the wrong planet because nobody noticed the one equation in which you wrote C<3.14195>. -When a constant is used in an expression, perl replaces it with its +When a constant is used in an expression, Perl replaces it with its value at compile time, and may then optimize the expression further. In particular, any code in an C block will be optimized away if the constant is false. @@ -331,6 +331,20 @@ (or simply use a comma in place of the big arrow) instead of C<< CONSTANT => 'value' >>. +=head1 SEE ALSO + +L - Facility for creating read-only scalars, arrays, hashes. + +L - Facility for creating read-only variables. Similar to C, +but uses C instead of C. + +L - Make read-only variables via attribute + +L - Perl extension to the C scalar flag + +L - A selection of general-utility hash subroutines (mostly +to lock/unlock keys and values) + =head1 BUGS Please report any bugs or feature requests via the perlbug(1) utility. @@ -350,7 +364,7 @@ The CPAN distribution is maintained by SEbastien Aperghis-Tramoni EFE. -=head1 COPYRIGHT +=head1 COPYRIGHT & LICENSE Copyright (C) 1997, 1999 Tom Phoenix diff -urN perl-5.10.0.orig/lib/constant.t perl-5.10.0/lib/constant.t --- perl-5.10.0.orig/lib/constant.t 2007-12-18 11:47:07.000000000 +0100 +++ perl-5.10.0/lib/constant.t 2008-10-29 22:38:47.000000000 +0100 @@ -12,11 +12,11 @@ BEGIN { # ...and save 'em for later $SIG{'__WARN__'} = sub { push @warnings, @_ } } -END { print STDERR @warnings } +END { @warnings && print STDERR join "\n- ", "accumulated warnings:", @warnings } use strict; -use Test::More tests => 97; +use Test::More tests => 95; my $TB = Test::More->builder; BEGIN { use_ok('constant'); } @@ -80,13 +80,6 @@ is MESS, q('"'\\"'"\\); is length(MESS), 8; -use constant TRAILING => '12 cats'; -{ - local $^W; - cmp_ok TRAILING, '==', 12; -} -is TRAILING, '12 cats'; - use constant LEADING => " \t1234"; cmp_ok LEADING, '==', 1234; is LEADING, " \t1234"; @@ -112,7 +105,7 @@ # text may vary, so we can't test much better than this. cmp_ok length(E2BIG), '>', 6; -is @warnings, 0 or diag join "\n", "unexpected warning", @warnings; +is @warnings, 0 or diag join "\n- ", "unexpected warning:", @warnings; @warnings = (); # just in case undef &PI; ok @warnings && ($warnings[0] =~ /Constant sub.* undefined/) or @@ -122,9 +115,9 @@ is @warnings, 0, "unexpected warning"; my $curr_test = $TB->current_test; -use constant CSCALAR => \"ok 37\n"; -use constant CHASH => { foo => "ok 38\n" }; -use constant CARRAY => [ undef, "ok 39\n" ]; +use constant CSCALAR => \"ok 35\n"; +use constant CHASH => { foo => "ok 36\n" }; +use constant CARRAY => [ undef, "ok 37\n" ]; use constant CCODE => sub { "ok $_[0]\n" }; my $output = $TB->output ; @@ -305,7 +298,7 @@ eval 'use constant zit => 4; 1' or die $@; # empty prototypes are reported differently in different versions - my $no_proto = $] < 5.008 ? "" : ": none"; + my $no_proto = $] < 5.008004 ? "" : ": none"; is(scalar @warnings, 1, "1 warning"); like ($warnings[0], qr/^Prototype mismatch: sub main::zit$no_proto vs \(\)/,