Change 20516 by [EMAIL PROTECTED] on 2003/08/06 10:47:28

        Retract #20472.

Affected files ...

... //depot/maint-5.8/perl/pod/perldata.pod#12 edit
... //depot/maint-5.8/perl/pod/perldelta.pod#64 edit
... //depot/maint-5.8/perl/pod/perldiag.pod#34 edit
... //depot/maint-5.8/perl/pod/perlfunc.pod#33 edit
... //depot/maint-5.8/perl/pod/perlvar.pod#24 edit

Differences ...

==== //depot/maint-5.8/perl/pod/perldata.pod#12 (text) ====
Index: perl/pod/perldata.pod
--- perl/pod/perldata.pod#11~20472~     Mon Aug  4 00:01:58 2003
+++ perl/pod/perldata.pod       Wed Aug  6 03:47:28 2003
@@ -339,18 +339,10 @@
 
 =head3 Version Strings
 
-B<NOTE:> Version strings (v-strings) have been deprecated in Perl
-5.8.1.  Version strings will be removed in some future release after
-Perl 5.8.1.  The marginal benefits of v-strings were greatly
-outweighed by the potential for Surprise and Confusion.
-
-Even the best case for their use, being used as version numbers for
-Perl itself and modules, was not backwards compatible to Perl versions
-earlier than 5.6.0.
-
-If you are using literal v-strings or the C<$^V> variable for version
-comparison, please use either the old numerical way (5.00801
-for Perl 5.8.1, for example) and the variable C<$[> instead.
+B<Note:> Version Strings (v-strings) have been deprecated.  They will
+be removed in some future release after Perl 5.8.1.  The marginal
+benefits of v-strings were greatly outweighed by the potential for
+Surprise and Confusion.
 
 A literal of the form C<v1.20.300.4000> is parsed as a string composed
 of characters with the specified ordinals.  This form, known as
@@ -376,6 +368,8 @@
 to separate a hash key from a hash value), instead they are interpreted
 as literal strings ('v65').  They were v-strings from Perl 5.6.0 to
 Perl 5.8.0, but that caused more confusion and breakage than good.
+Multi-number v-strings like C<v65.66> and C<65.66.67> continue to
+be v-strings always.
 
 =head3 Special Literals
 

==== //depot/maint-5.8/perl/pod/perldelta.pod#64 (text) ====
Index: perl/pod/perldelta.pod
--- perl/pod/perldelta.pod#63~20496~    Tue Aug  5 03:52:16 2003
+++ perl/pod/perldelta.pod      Wed Aug  6 03:47:28 2003
@@ -213,11 +213,6 @@
 
     no warnings 'deprecated';
 
-Similarly, prefer the old way of using the C<$]> variable and numeric
-comparisons instead of the C<$^V> variable.  The C<$^V> and v-strings
-in general never did work for pre-5.6.0 Perls, so they weren't that
-great for version compatibility checks to begin with.
-
 =head3 (Reminder) Pseudo-hashes are deprecated (really)
 
 Pseudo-hashes were deprecated in Perl 5.8.0 and will be removed in
@@ -671,7 +666,6 @@
 
 The marginal benefits of v-strings were greatly outweighed by the
 potential for Surprise and Confusion.
-See L<perldata/"Version Strings"> for more information.
 
 =head1 Changed Internals
 

==== //depot/maint-5.8/perl/pod/perldiag.pod#34 (text) ====
Index: perl/pod/perldiag.pod
--- perl/pod/perldiag.pod#33~20515~     Wed Aug  6 03:44:50 2003
+++ perl/pod/perldiag.pod       Wed Aug  6 03:47:28 2003
@@ -4431,8 +4431,7 @@
 =item v-strings are deprecated (especially those beginning with 'v')
 
 (D deprecated) v-strings are deprecated.  Their semantics and use were
-found to be overly confusing and error-prone.
-See L<perldata/"Version Strings"> for more information.
+overly confusing.
 
 =item Warning: something's wrong
 

==== //depot/maint-5.8/perl/pod/perlfunc.pod#33 (text) ====
Index: perl/pod/perlfunc.pod
--- perl/pod/perlfunc.pod#32~20472~     Mon Aug  4 00:01:58 2003
+++ perl/pod/perlfunc.pod       Wed Aug  6 03:47:28 2003
@@ -4016,19 +4016,20 @@
 Demands a version of Perl specified by VERSION, or demands some semantics
 specified by EXPR or by C<$_> if EXPR is not supplied.
 
-VERSION will be compared to C<$]>.  A fatal error is produced at run
-time if VERSION is greater than the version of the current Perl
-interpreter.  Compare with L</use>, which can do a similar check at
-compile time.
-
-    require 5.006;     # run time version check for Perl 5.6.0
-    require 5.006_001; # ditto for 5.6.1
-
-The alternate way of specifying VERSION (introduced in Perl 5.6.0)
-as a literal of the form v5.6.1 should generally be avoided, because
-it leads to misleading error messages under earlier versions of Perl
-which do not support this syntax.  The equivalent numeric version
-should be used instead.
+VERSION may be either a numeric argument such as 5.006, which will be
+compared to C<$]>, or a literal of the form v5.6.1, which will be compared
+to C<$^V> (aka $PERL_VERSION).  A fatal error is produced at run time if
+VERSION is greater than the version of the current Perl interpreter.
+Compare with L</use>, which can do a similar check at compile time.
+
+Specifying VERSION as a literal of the form v5.6.1 should generally be
+avoided, because it leads to misleading error messages under earlier
+versions of Perl which do not support this syntax.  The equivalent numeric
+version should be used instead.
+
+    require v5.6.1;    # run time version check
+    require 5.6.1;     # ditto
+    require 5.006_001; # ditto; preferred for backwards compatibility
 
 Otherwise, demands that a library file be included if it hasn't already
 been included.  The file is included via the do-FILE mechanism, which is
@@ -5030,7 +5031,7 @@
 a given string (a dot C<.> by default). This can be useful for
 displaying ordinal values of characters in arbitrary strings:
 
-  printf "version is v%vd\n", $^V;     # Perl's version (deprecated)
+  printf "version is v%vd\n", $^V;     # Perl's version
 
 Put an asterisk C<*> before the C<v> to override the string to
 use to separate the numbers:
@@ -6130,26 +6131,28 @@
 
 except that Module I<must> be a bareword.
 
-VERSION will be compared to C<$]>.  A fatal error is produced if
-VERSION is greater than the version of the current Perl interpreter;
-Perl will not attempt to parse the rest of the file.  Compare with
-L</require>, which can do a similar check at run time.
-
-    use 5.006;         # compile time version check for Perl 5.6.0
-    use 5.006_001;     # ditto for Perl 5.6.1
+VERSION may be either a numeric argument such as 5.006, which will be
+compared to C<$]>, or a literal of the form v5.6.1, which will be compared
+to C<$^V> (aka $PERL_VERSION.  A fatal error is produced if VERSION is
+greater than the version of the current Perl interpreter; Perl will not
+attempt to parse the rest of the file.  Compare with L</require>, which can
+do a similar check at run time.
+
+Specifying VERSION as a literal of the form v5.6.1 should generally be
+avoided, because it leads to misleading error messages under earlier
+versions of Perl which do not support this syntax.  The equivalent numeric
+version should be used instead.
+
+    use v5.6.1;                # compile time version check
+    use 5.6.1;         # ditto
+    use 5.006_001;     # ditto; preferred for backwards compatibility
 
 This is often useful if you need to check the current Perl version before
 C<use>ing library modules that have changed in incompatible ways from
 older versions of Perl.  (We try not to do this more than we have to.)
 
-The alternate way of specifying VERSION (introduced in Perl 5.6.0)
-as a literal of the form v5.6.1 should generally be avoided, because
-it leads to misleading error messages under earlier versions of Perl
-which do not support this syntax.  The equivalent numeric version
-should be used instead.
-
-The C<BEGIN> forces the C<require> and C<import> to happen at compile time.
-The C<require> makes sure the module is loaded into memory if it hasn't been
+The C<BEGIN> forces the C<require> and C<import> to happen at compile time.  The
+C<require> makes sure the module is loaded into memory if it hasn't been
 yet.  The C<import> is not a builtin--it's just an ordinary static method
 call into the C<Module> package to tell the module to import the list of
 features back into the current package.  The module can implement its

==== //depot/maint-5.8/perl/pod/perlvar.pod#24 (text) ====
Index: perl/pod/perlvar.pod
--- perl/pod/perlvar.pod#23~20477~      Mon Aug  4 06:37:09 2003
+++ perl/pod/perlvar.pod        Wed Aug  6 03:47:28 2003
@@ -924,6 +924,10 @@
 and C<< > >> to the tests containing equivalence: C<< <= >>, C<< == >>,
 and C<< >= >>.
 
+The floating point representation can sometimes lead to inaccurate
+numeric comparisons.  See C<$^V> for a more modern representation of
+the Perl version that allows accurate string comparisons.
+
 =item $COMPILING
 
 =item $^C
@@ -1154,15 +1158,6 @@
 
 =item $^V
 
-B<NOTE: Version Strings (v-strings) have been deprecated in Perl 5.8.1.
-Version strings will be removed in some future release after Perl 5.8.1.
-The C<$^V> was implemented using v-strings, and therefore its future
-is uncertain.  Please refrain from using the C<$^V> and use the C<$]>
-instead.>
-
-(The following explanation describes the situation as it used to be
-for Perls starting from 5.6.0 up to and including 5.8.0.)
-
 The revision, version, and subversion of the Perl interpreter, represented
 as a string composed of characters with those ordinals.  Thus in Perl v5.6.0
 it equals C<chr(5) . chr(6) . chr(0)> and will return true for
@@ -1183,7 +1178,7 @@
 See the documentation of C<use VERSION> and C<require VERSION>
 for a convenient way to fail if the running Perl interpreter is too old.
 
-See also C<$]>.
+See also C<$]> for an older representation of the Perl version.
 
 =item $WARNING
 
End of Patch.

Reply via email to