diff options
author | Rafael Garcia-Suarez <rgarciasuarez@gmail.com> | 2003-06-13 19:17:50 +0000 |
---|---|---|
committer | Rafael Garcia-Suarez <rgarciasuarez@gmail.com> | 2003-06-13 19:17:50 +0000 |
commit | f02c194e1a40f11d020685cd18b41e5261091b12 (patch) | |
tree | 37863ea19d4769893b861e11cb30b0215621246d /pod | |
parent | cff1be36840a17022b50a6f295ed97efe19b975e (diff) | |
download | perl-f02c194e1a40f11d020685cd18b41e5261091b12.tar.gz |
Remove the deprecated $* variable.
Incidentally, this fixes bug #22354, about unwanted
action-at-distance of the /m regexp modifier.
Add a new warning to advertise this fact.
p4raw-id: //depot/perl@19769
Diffstat (limited to 'pod')
-rw-r--r-- | pod/perldelta.pod | 9 | ||||
-rw-r--r-- | pod/perldiag.pod | 13 | ||||
-rw-r--r-- | pod/perlre.pod | 12 | ||||
-rw-r--r-- | pod/perlvar.pod | 20 |
4 files changed, 16 insertions, 38 deletions
diff --git a/pod/perldelta.pod b/pod/perldelta.pod index 8704322575..444dcf9e26 100644 --- a/pod/perldelta.pod +++ b/pod/perldelta.pod @@ -9,6 +9,11 @@ the 5.9.0 release. =head1 Incompatible Changes +=head2 The C<$*> variable has been removed + +C<$*>, which was deprecated in favor of the C</s> and C</m> regexp +modifiers, has been removed. + =head1 Core Enhancements =head2 Tied Arrays with Negative Array Indices @@ -48,8 +53,8 @@ C<EXISTS>, and C<DELETE> unchanged. If you find what you think is a bug, you might check the articles recently posted to the comp.lang.perl.misc newsgroup and the perl -bug database at http://bugs.perl.org/ . There may also be -information at http://www.perl.com/ , the Perl Home Page. +bug database at F<http://bugs.perl.org/>. There may also be +information at F<http://www.perl.com/>, the Perl Home Page. If you believe you have an unreported bug, please run the B<perlbug> program included with your release. Be sure to trim your bug down diff --git a/pod/perldiag.pod b/pod/perldiag.pod index 4d9501644b..0669db62c3 100644 --- a/pod/perldiag.pod +++ b/pod/perldiag.pod @@ -1640,6 +1640,12 @@ supposed to follow something: a template character or a ()-group. to have existed already, but for some reason it didn't, and had to be created on an emergency basis to prevent a core dump. +=item $* has been removed + +(D deprecated) The special variable C<$*>, deprecated in older perls, has +been removed as of 5.9.0 and is no longer supported. You should use the +C<//m> and C<//s> regexp modifiers instead. + =item Hash %%s missing the % in argument %d of %s() (D deprecated) Really old Perl let you omit the % on hash names in some @@ -4225,13 +4231,6 @@ C<use AutoLoader 'AUTOLOAD';>. (F) You attempted to use a feature of printf that is accessible from only C. This usually means there's a better way to do it in Perl. -=item Use of $* is deprecated - -(D deprecated) This variable magically turned on multi-line pattern -matching, both for you and for any luckless subroutine that you happen -to call. You should use the new C<//m> and C<//s> modifiers now to do -that without the dangerous action-at-a-distance effects of C<$*>. - =item Use of $# is deprecated (D deprecated) This was an ill-advised attempt to emulate a poorly diff --git a/pod/perlre.pod b/pod/perlre.pod index 17a94252cf..a11e3e833b 100644 --- a/pod/perlre.pod +++ b/pod/perlre.pod @@ -41,11 +41,7 @@ line anywhere within the string. Treat string as single line. That is, change "." to match any character whatsoever, even a newline, which normally it would not match. -The C</s> and C</m> modifiers both override the C<$*> setting. That -is, no matter what C<$*> contains, C</s> without C</m> will force -"^" to match only at the beginning of the string and "$" to match -only at the end (or just before a newline at the end) of the string. -Together, as /ms, they let the "." match any character whatsoever, +Used together, as /ms, they let the "." match any character whatsoever, while still allowing "^" and "$" to match, respectively, just after and just before newlines within the string. @@ -103,13 +99,11 @@ string as a multi-line buffer, such that the "^" will match after any newline within the string, and "$" will match before any newline. At the cost of a little more overhead, you can do this by using the /m modifier on the pattern match operator. (Older programs did this by setting C<$*>, -but this practice is now deprecated.) +but this practice has been removed in perl 5.9.) To simplify multi-line substitutions, the "." character never matches a newline unless you use the C</s> modifier, which in effect tells Perl to pretend -the string is a single line--even if it isn't. The C</s> modifier also -overrides the setting of C<$*>, in case you have some (badly behaved) older -code that sets it in another module. +the string is a single line--even if it isn't. The following standard quantifiers are recognized: diff --git a/pod/perlvar.pod b/pod/perlvar.pod index 3b9ed060af..6e2a853007 100644 --- a/pod/perlvar.pod +++ b/pod/perlvar.pod @@ -294,26 +294,6 @@ past where $2 ends, and so on. You can use C<$#+> to determine how many subgroups were in the last successful match. See the examples given for the C<@-> variable. -=item $MULTILINE_MATCHING - -=item $* - -Set to a non-zero integer value to do multi-line matching within a -string, 0 (or undefined) to tell Perl that it can assume that strings -contain a single line, for the purpose of optimizing pattern matches. -Pattern matches on strings containing multiple newlines can produce -confusing results when C<$*> is 0 or undefined. Default is undefined. -(Mnemonic: * matches multiple things.) This variable influences the -interpretation of only C<^> and C<$>. A literal newline can be searched -for even when C<$* == 0>. - -Use of C<$*> is deprecated in modern Perl, supplanted by -the C</s> and C</m> modifiers on pattern matching. - -Assigning a non-numerical value to C<$*> triggers a warning (and makes -C<$*> act if C<$* == 0>), while assigning a numerical value to C<$*> -makes that an implicit C<int> is applied on the value. - =item HANDLE->input_line_number(EXPR) =item $INPUT_LINE_NUMBER |