summaryrefslogtreecommitdiff
path: root/pod/perlvar.pod
Commit message (Collapse)AuthorAgeFilesLines
* Note schedule for $[ removal in perlvarDagfinn Ilmari Mannsåker2017-12-111-0/+2
|
* document semantics of %+ in perlvar in addition to perlreLukas Mai2017-10-221-0/+3
|
* Make setting ${^ENCODING} to a defined value fatalDagfinn Ilmari Mannsåker2017-06-071-0/+1
| | | | | | | This has been deprecated since 5.22 and a no-op since 5.26. Remove the now-obsolete t/uni/heavy.t test, which only tested that utf8_heavy.pl didn't fail to load when ${^ENCODING} was set.
* perldelta: clarify what these new capture variables are forYves Orton2017-05-171-2/+5
| | | | | | | | [Ævar: I originally had a worse patch for this, but Yves had a better one to fixup into mine. See "Re: Perl 5.26.0-RC1 is now available!"[1] on list for context.]. 1. <CANgJU+Uh0Kg_fS=3Ux5WvZtskOcOQT2Gjvy8tgYHjCTd0-d90Q@mail.gmail.com>
* Documentation fixes for '.' possibly no longer being in @INCDominic Hargreaves2017-02-251-3/+4
|
* No longer mention some uses of $SIG {__DIE__} are deprecated.Abigail2017-01-161-7/+6
| | | | | | | | | The C<$SIG{__DIE__}> hook is called even inside an C<eval()>. It was never intended to happen this way, but an implementation glitch made this possible. This used to be deprecated, as it allowed strange action at a distance like rewriting a pending exception in C<$@>. Plans to rectify this have been scrapped, as users found that rewriting a pending exception is actually a useful feature, and not a bug.
* perlvar: clarify @ISA recommendationsAristotle Pagaltzis2016-11-071-3/+3
|
* perlvar: document @ISAHauke D2016-11-071-0/+13
| | | | It was documented in a few other places but not in perlvar.
* new feature @{^CAPTURE} (and %{^CAPTURE} and %{^CAPTURE_ALL})Yves Orton2016-11-011-4/+35
| | | | | | | | | @{^CAPTURE} exposes the capture buffers of the last match as an array. So $1 is ${^CAPTURE}[0]. %{^CAPTURE} is the equivalent to %+ (ie named captures) %{^CAPTURE_ALL} is the equivalent to %- (ie all named captures).
* perlvar: Emphasize that $] has unchanged behavior foreverKarl Williamson2016-08-061-2/+3
| | | | Also add a link
* Note in perlvar that ${^ENCODING} is removedFather Chrysostomos2016-07-171-15/+10
|
* Fix some pod errorsKarl Williamson2016-04-221-1/+1
| | | | | These were discovered while testing the Pod::Checker that is intended to be used in 5.25.
* perlvar: Add a couple linksKarl Williamson2016-03-111-2/+2
|
* perlvar: Cross reference other podsKarl Williamson2016-03-071-1/+3
| | | | | Suggested by "kes" in http://nntp.perl.org/group/perl.perl5.porters/234447
* perlvar: hyperlink from $^D to perlrun/-DLukas Mai2016-02-251-2/+2
|
* reword $@ documentation (it's not just for syntax errors)Lukas Mai2015-12-091-8/+9
| | | | RT #124034
* document the specific value of $!{E...}Ricardo Signes2015-09-301-4/+6
| | | | ...and note that it is subject to change and not guaranteed
* perlvar: %LAST_MATCH_START is not %-Thomas Sibley2015-09-111-3/+1
| | | | | | | | %- has no English alias. %FORMAT_LINES_LEFT works in practice thanks to indiscriminate typeglob aliasing, but that really doesn't count! %LAST_PAREN_MATCHES or %LAST_PAREN_ALL_MATCH might be a reasonable addition for %-, to parallel %+ and %LAST_PAREN_MATCH.
* perlvar: discourage $OLD_PERL_VERSIONAristotle Pagaltzis2015-07-271-2/+5
|
* Forbid variable names with ASCII non-graphic charsKarl Williamson2015-07-131-20/+18
| | | | | | | | | | | See http://nntp.perl.org/group/perl.perl5.porters/229168 Also, the documentation has been updated beyond this change to clarify related matters, based on some experimentation. Previously, spaces couldn't be in variable names; now ASCII control characters can't be either. The remaining permissible ASCII characters in a variable name now must be all graphic ones.
* Document $OLD_PERL_VERSION's historyKaren Etheridge2015-07-121-0/+2
| | | | | | | $OLD_PERL_VERSION was added commented-out in Perl 5.6.0, when $PERL_VERSION became $^V. It remained unimplemented and undocumented until it was added to perlvar.pod, in the deprecated section, in 5.13.10. It was then implemented in English.pm in 5.19.10, but remained undocumented until 5.22.0.
* perlvar: fix list of defaulted array operatorsAristotle Pagaltzis2015-06-211-1/+1
|
* perlvar: Mention literal cntrls are deprecated in var namesKarl Williamson2015-05-051-2/+3
|
* Also restore the index entry for $OLD_PERL_VERSIONAristotle Pagaltzis2015-04-281-1/+1
| | | | This was missed in d2578154934acc58c35260d46623962e12848748.
* add back documentation that $OLD_PERL_VERSION is an alias for $]Karen Etheridge2015-04-271-0/+2
|
* move the documentation for $] out of the deprecated sectionKaren Etheridge2015-04-271-32/+32
|
* perlvar typoFather Chrysostomos2015-02-061-1/+1
|
* perlvar: further clarify version number representations and usageDavid Golden2015-02-061-6/+20
|
* perlvar: revise $] and $^V with less biasDavid Golden2015-02-061-8/+11
|
* perlvar: Add infoKarl Williamson2014-11-241-1/+3
|
* perlvar: More text about ${^ENCODING}; refer by perldiagKarl Williamson2014-11-201-2/+26
|
* Deprecate setting ${^ENCODING}Dagfinn Ilmari Mannsåker2014-11-201-2/+2
| | | | | The commiter added a no warnings in t/op/leaky-magic.t, and made other minor changes because of rebasing issues.
* Move away from $a and $b for examples.Shlomi Fish2014-11-011-4/+4
| | | | | | pod/perlvar.pod this time. For: RT #123081 (partial)
* perlvar: Note a deprecationKarl Williamson2014-10-191-1/+2
|
* Revert "PATCH: [perl #119499] "$!" with UTF-8 flag"Karl Williamson2014-06-051-4/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | This reverts commit b17e32ea3ba5ef7362d2a3d1a433661afb897786. With this commit, the stringification of $! will have the UTF-8 flag set when the text is actually non-ASCII UTF-8. The reverted commit itself reverted code that was to fix bugs with this discrepancy of the UTF-8 flag, but which caused backward-compatibility problems with existing code. Several things have happened in the interim which allows us to experimentally resotre the previously reverted changes. One is that this is early in the 5.21 cycle, and we have plenty of time to see what negative consequences this may cause. Two is that the returned text will only be in UTF-8 if the stringification happens within the scope of 'use locale'. This means that the negative effects won't happen for code, like ack, that is otherwise locale unaware. Third, the 'locale' pragma has been enhanced to allow the program to only have locale awareness of LC_MESSAGES. Code that needs to continue the 5.20 and earlier behavior can do the stringification within the scopes of both 'use bytes' and 'use locale ":messages". No other Perl operations will be affected by locale; only $! and $^E stringification. The 'bytes' pragma causes the UTF-8 flag to not be set, just as in previous Perl releases.
* nitpicksSHIRAKATA Kentaro2014-04-071-1/+1
|
* PATCH: [perl #119499] "$!" with UTF-8 flagKarl Williamson2014-04-011-0/+4
| | | | | | | | This disables the code that sets the UTF-8 flag when "$!" is UTF-8. This is being done to get v5.20 out the door, with changes to follow in v5.21. See towards the end of the discussion of this ticket. Unfortunately this change will cause #112208 to no longer be fixed.
* perlvar.pod: suggest string comparisons for $]David Golden2014-02-181-2/+2
|
* deal with assignment to $/ better, deprecate edge cases, and forbid othersYves Orton2014-02-031-1/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The actual behavior of $/ under various settings and how it is documented varies quite a bit. Clarify the documentation, and add various checks that are validated when setting $/. The gist of the problem was that the way that weirdo ref assignments were handled was mostly broken: * setting to a reference to an array, hash, or other higher level construct would behave similarly to setting it to a reference to a an integer, by numifying the ref and using it as an integer. This behavior was entirely undocumented. * setting to a reference to 0 or to -1 was *documented* in triggering "slurp" behavior, but actually did not. Instead it would set the separator to the stringified form of the ref, which would *appear* as slurp behavior due to the unlikelihood of a file actually containing a string which matched, however was less efficient, and if someone's luck were *terrible* might actually behave as a split. In the future we wish to support more sophisticated ways of setting the input record separator, possibly supporting things like: $/= [ "foo", "bar" ]; $/= qr/foo|bar/; Accordingly this patch *forbids* the use of a non scalar ref, and raises a fatal exception when one does so. Additionally it treats non-positive refs *exactly* the same as assigning undef, *including* ignoring the original value and setting $/ to undef. The means the implementation now matches the documentation. However since this might involve some crazy script changing in behavior (as one can't fetch back the original ref from $/) I have added a warning in category "deprecated" advising the user what has happened and recommending setting to "undef" explicitly. As far as I can tell this will only *break* code doing extremely dodgy things with $/. While putting together this patch I encountered numerous problems with porting tests. First off was porting/podcheck.t, which failed test without saying why or what to do, even under TEST_VERBOSE=1. Then when I did a regen to update the exceptions database and then used that information to try to fix the reported problems it seems that it does not work properly anyway. Specifically you aren't allowed to have a / in the interesting parts of a L<> reference. If you replace the / with an E<0x2f> then the link is valid POD, but podcheck.t then considers it a broken link. If you then replace the / in perdiag with E<0x2f> as well then porting/diag.t complains that you have an undocumented diagnostic! Accordingly I used the --regen option of podcheck.t to add exceptions to the exception database. I have no idea if the pod is correctly formatted or not.
* document $^P's 0x800 and 0x1000Ricardo Signes2014-01-201-0/+8
| | | | these were introduced in c30d8139e
* Remove non-existent English variable names from perlvarDagfinn Ilmari Mannsåker2013-10-111-9/+3
| | | | | | $OLD_PERL_VERSION was never exported (it was added commented-out in Perl 5.6.0, when $PERL_VERSION became $^V). $OFMT and $ARRAY_BASE were commented out in Perl 5.000.
* perlvar.pod: add a separate section on $& et alDavid Mitchell2013-07-241-28/+58
| | | | | | | | | | Add a new separate section explaining the performance issues of $`, $& and $'; plus descriptions of the various workarounds like @-, /p and COW, and which perl version they were each introduced in. Then in the entries for each individual var, strip out any commentary about performance, and just include a link to the new performance section.
* Wrap a long verbatim line in perlvar.podFather Chrysostomos2013-07-131-1/+2
|
* perlvar: Don’t mention dev versionFather Chrysostomos2013-07-131-3/+3
| | | | Also, use the v convention used elsewhere in the same doc.
* pod/perlvar.pod: Document changes to %ENVKent Fredric2013-07-131-0/+21
| | | | | | Including Historical context, and relevance to IPC. reformatted with Jim Keenans Suggestions
* Consistent spaces after dots in perlvarFather Chrysostomos2013-07-111-2/+2
|
* Documentation corrections from Wallace Reis++.James E Keenan2013-06-231-14/+1
| | | | For RT #118593, 118595, 118597, 118599.
* re-enable Copy-on-Write by default.David Mitchell2013-05-261-10/+22
| | | | | | | | | | | | COW was first introduced (and enabled by default) in 5.17.7. It was disabled by default in 5.17.10, because it was though to have too many rough edges for the 5.18.0 release. By re-enabling it now, early in the 5.19.x release cycle, hopefully it will be ready for production use by 5.20. This commit mainly reverts 9f351b45f4 and e1fd41328c (with modifications), then updates perldelta.
* Revert "Update docs to concur with $`,$&,$' changes"David Mitchell2013-05-061-22/+10
| | | | | | | | This reverts commit d78f32f607952d58a998c5b7554572320dc57b2a. Since COW has now not been enabled by default for 5.18, revert the documentation changes which say that that $' etc no longer have a performance penalty, etc.
* fix a missed s/deprecated/experimental/ for my $_Ricardo Signes2013-03-231-2/+4
|