diff options
author | Rafael Garcia-Suarez <rgarciasuarez@gmail.com> | 2007-10-09 13:06:26 +0000 |
---|---|---|
committer | Rafael Garcia-Suarez <rgarciasuarez@gmail.com> | 2007-10-09 13:06:26 +0000 |
commit | cf6c151c4d1b7ed05e154d608f547018d54674bc (patch) | |
tree | 6a23c8de2a0eb0a3cc74e135e3e66decfc3b484d /pod | |
parent | ffb0b41ddab819dfe927b571e62eeff6a7811557 (diff) | |
download | perl-cf6c151c4d1b7ed05e154d608f547018d54674bc.tar.gz |
Add a rough, incomplete version of perl5100delta
p4raw-id: //depot/perl@32080
Diffstat (limited to 'pod')
-rw-r--r-- | pod/perl.pod | 1 | ||||
-rw-r--r-- | pod/perl5100delta.pod | 611 | ||||
-rw-r--r-- | pod/perltoc.pod | 603 |
3 files changed, 1074 insertions, 141 deletions
diff --git a/pod/perl.pod b/pod/perl.pod index 80768fa962..ce8f29814f 100644 --- a/pod/perl.pod +++ b/pod/perl.pod @@ -146,6 +146,7 @@ For ease of access, the Perl manual has been split up into several sections. perlhist Perl history records perldelta Perl changes since previous version + perl595delta Perl changes in version 5.9.5 perl594delta Perl changes in version 5.9.4 perl593delta Perl changes in version 5.9.3 perl592delta Perl changes in version 5.9.2 diff --git a/pod/perl5100delta.pod b/pod/perl5100delta.pod new file mode 100644 index 0000000000..6b3db37c1a --- /dev/null +++ b/pod/perl5100delta.pod @@ -0,0 +1,611 @@ +TODO: perl591delta and further + +=head1 NAME + +perldelta - what is new for perl 5.10.0 + +=head1 DESCRIPTION + +This document describes the differences between the 5.8.8 release and +the 5.10.0 release. + +Many of the bug fixes in 5.10.0 were already seen in the 5.8.X maintenance +releases; they are not duplicated here and are documented in the set of +man pages named perl58[1-8]?delta. + +=head1 Incompatible Changes + +=head2 Packing and UTF-8 strings + +=for XXX update this + +The semantics of pack() and unpack() regarding UTF-8-encoded data has been +changed. Processing is now by default character per character instead of +byte per byte on the underlying encoding. Notably, code that used things +like C<pack("a*", $string)> to see through the encoding of string will now +simply get back the original $string. Packed strings can also get upgraded +during processing when you store upgraded characters. You can get the old +behaviour by using C<use bytes>. + +To be consistent with pack(), the C<C0> in unpack() templates indicates +that the data is to be processed in character mode, i.e. character by +character; on the contrary, C<U0> in unpack() indicates UTF-8 mode, where +the packed string is processed in its UTF-8-encoded Unicode form on a byte +by byte basis. This is reversed with regard to perl 5.8.X. + +Moreover, C<C0> and C<U0> can also be used in pack() templates to specify +respectively character and byte modes. + +C<C0> and C<U0> in the middle of a pack or unpack format now switch to the +specified encoding mode, honoring parens grouping. Previously, parens were +ignored. + +Also, there is a new pack() character format, C<W>, which is intended to +replace the old C<C>. C<C> is kept for unsigned chars coded as bytes in +the strings internal representation. C<W> represents unsigned (logical) +character values, which can be greater than 255. It is therefore more +robust when dealing with potentially UTF-8-encoded data (as C<C> will wrap +values outside the range 0..255, and not respect the string encoding). + +In practice, that means that pack formats are now encoding-neutral, except +C<C>. + +For consistency, C<A> in unpack() format now trims all Unicode whitespace +from the end of the string. Before perl 5.9.2, it used to strip only the +classical ASCII space characters. + +=head2 The C<$*> and C<$#> variables have been removed + +C<$*>, which was deprecated in favor of the C</s> and C</m> regexp +modifiers, has been removed. + +The deprecated C<$#> variable (output format for numbers) has been +removed. + +Two new warnings, C<$#/$* is no longer supported>, have been added. + +=head2 substr() lvalues are no longer fixed-length + +The lvalues returned by the three argument form of substr() used to be a +"fixed length window" on the original string. In some cases this could +cause surprising action at distance or other undefined behaviour. Now the +length of the window adjusts itself to the length of the string assigned to +it. + +=head2 Parsing of C<-f _> + +The identifier C<_> is now forced to be a bareword after a filetest +operator. This solves a number of misparsing issues when a global C<_> +subroutine is defined. + +=head2 C<:unique> + +The C<:unique> attribute has been made a no-op, since its current +implementation was fundamentally flawed and not threadsafe. + +=head2 Scoping of the C<sort> pragma + +The C<sort> pragma is now lexically scoped. Its effect used to be global. + +=head2 Scoping of C<bignum>, C<bigint>, C<bigrat> + +The three numeric pragmas C<bignum>, C<bigint> and C<bigrat> are now +lexically scoped. (Tels) + +=head2 Effect of pragmas in eval + +The compile-time value of the C<%^H> hint variable can now propagate into +eval("")uated code. This makes it more useful to implement lexical +pragmas. + +As a side-effect of this, the overloaded-ness of constants now propagates +into eval(""). + +=head2 chdir FOO + +A bareword argument to chdir() is now recognized as a file handle. +Earlier releases interpreted the bareword as a directory name. +(Gisle Aas) + +=head2 Handling of .pmc files + +An old feature of perl was that before C<require> or C<use> look for a +file with a F<.pm> extension, they will first look for a similar filename +with a F<.pmc> extension. If this file is found, it will be loaded in +place of any potentially existing file ending in a F<.pm> extension. + +Previously, F<.pmc> files were loaded only if more recent than the +matching F<.pm> file. Starting with 5.9.4, they'll be always loaded if +they exist. + +=head2 @- and @+ in patterns + +The special arrays C<@-> and C<@+> are no longer interpolated in regular +expressions. (Sadahiro Tomoyuki) + +=head2 $AUTOLOAD can now be tainted + +If you call a subroutine by a tainted name, and if it defers to an +AUTOLOAD function, then $AUTOLOAD will be (correctly) tainted. +(Rick Delaney) + +=head2 Tainting and printf + +When perl is run under taint mode, C<printf()> and C<sprintf()> will now +reject any tainted format argument. (Rafael Garcia-Suarez) + +=head2 undef and signal handlers + +Undefining or deleting a signal handler via C<undef $SIG{FOO}> is now +equivalent to setting it to C<'DEFAULT'>. (Rafael Garcia-Suarez) + +=head2 strictures and array/hash dereferencing in defined() + +C<defined @$foo> and C<defined %$bar> are now subject to C<strict 'refs'> +(that is, C<$foo> and C<$bar> shall be proper references there.) +(Nicholas Clark) + +(However, C<defined(@foo)> and C<defined(%bar)> are discouraged constructs +anyway.) + +=head2 C<(?p{})> has been removed + +The regular expression construct C<(?p{})>, which was deprecated in perl +5.8, has been removed. Use C<(??{})> instead. (Rafael Garcia-Suarez) + +=head2 Pseudo-hashes have been removed + +Support for pseudo-hashes has been removed from Perl 5.9. (The C<fields> +pragma remains here, but uses an alternate implementation.) + +=head2 Removal of the bytecode compiler and of perlcc + +C<perlcc>, the byteloader and the supporting modules (B::C, B::CC, +B::Bytecode, etc.) are no longer distributed with the perl sources. Those +experimental tools have never worked reliably, and, due to the lack of +volunteers to keep them in line with the perl interpreter developments, it +was decided to remove them instead of shipping a broken version of those. +The last version of those modules can be found with perl 5.9.4. + +However the B compiler framework stays supported in the perl core, as with +the more useful modules it has permitted (among others, B::Deparse and +B::Concise). + +=head2 Removal of the JPL + +The JPL (Java-Perl Linguo) has been removed from the perl sources tarball. + +=head2 Recursive inheritance detected earlier + +Perl will now immediately throw an exception if you modify any package's +C<@ISA> in such a way that it would cause recursive inheritance. + +Previously, the exception would not occur until Perl attempted to make +use of the recursive inheritance while resolving a method or doing a +C<$foo-E<gt>isa($bar)> lookup. + +=head1 Core Enhancements + +=head2 The C<feature> pragma + +The C<feature> pragma is used to enable new syntax that would break Perl's +backwards-compatibility with older releases of the language. It's a lexical +pragma, like C<strict> or C<warnings>. + +Currently the following new features are available: C<switch> (adds a +switch statement), C<say> (adds a C<say> built-in function), and C<state> +(adds an C<state> keyword for declaring "static" variables). Those +features are described in their own sections of this document. + +The C<feature> pragma is also implicitly loaded when you require a minimal +perl version (with the C<use VERSION> construct) greater than, or equal +to, 5.9.5. See L<feature> for details. + +=head2 New B<-E> command-line switch + +B<-E> is equivalent to B<-e>, but it implicitly enables all +optional features (like C<use feature ":5.10">). + +=head2 Defined-or operator + +A new operator C<//> (defined-or) has been implemented. +The following statement: + + $a // $b + +is merely equivalent to + + defined $a ? $a : $b + +and + + $c //= $d; + +can now be used instead of + + $c = $d unless defined $c; + +The C<//> operator has the same precedence and associativity as C<||>. +Special care has been taken to ensure that this operator Do What You Mean +while not breaking old code, but some edge cases involving the empty +regular expression may now parse differently. See L<perlop> for +details. + +=head2 Switch and Smart Match operator + +Perl 5 now has a switch statement. It's available when C<use feature +'switch'> is in effect. This feature introduces three new keywords, +C<given>, C<when>, and C<default>: + + given ($foo) { + when (/^abc/) { $abc = 1; } + when (/^def/) { $def = 1; } + when (/^xyz/) { $xyz = 1; } + default { $nothing = 1; } + } + +A more complete description of how Perl matches the switch variable +against the C<when> conditions is given in L<perlsyn/"Switch statements">. + +This kind of match is called I<smart match>, and it's also possible to use +it outside of switch statements, via the new C<~~> operator. See +L<perlsyn/"Smart matching in detail">. + +This feature was contributed by Robin Houston. + +=head2 Regular expressions + +=over 4 + +=item Recursive Patterns + +It is now possible to write recursive patterns without using the C<(??{})> +construct. This new way is more efficient, and in many cases easier to +read. + +Each capturing parenthesis can now be treated as an independent pattern +that can be entered by using the C<(?PARNO)> syntax (C<PARNO> standing for +"parenthesis number"). For example, the following pattern will match +nested balanced angle brackets: + + / + ^ # start of line + ( # start capture buffer 1 + < # match an opening angle bracket + (?: # match one of: + (?> # don't backtrack over the inside of this group + [^<>]+ # one or more non angle brackets + ) # end non backtracking group + | # ... or ... + (?1) # recurse to bracket 1 and try it again + )* # 0 or more times. + > # match a closing angle bracket + ) # end capture buffer one + $ # end of line + /x + +Note, users experienced with PCRE will find that the Perl implementation +of this feature differs from the PCRE one in that it is possible to +backtrack into a recursed pattern, whereas in PCRE the recursion is +atomic or "possessive" in nature. (Yves Orton) + +=item Named Capture Buffers + +It is now possible to name capturing parenthesis in a pattern and refer to +the captured contents by name. The naming syntax is C<< (?<NAME>....) >>. +It's possible to backreference to a named buffer with the C<< \k<NAME> >> +syntax. In code, the new magical hashes C<%+> and C<%-> can be used to +access the contents of the capture buffers. + +Thus, to replace all doubled chars, one could write + + s/(?<letter>.)\k<letter>/$+{letter}/g + +Only buffers with defined contents will be "visible" in the C<%+> hash, so +it's possible to do something like + + foreach my $name (keys %+) { + print "content of buffer '$name' is $+{$name}\n"; + } + +The C<%-> hash is a bit more complete, since it will contain array refs +holding values from all capture buffers similarly named, if there should +be many of them. + +C<%+> and C<%-> are implemented as tied hashes through the new module +C<Tie::Hash::NamedCapture>. + +Users exposed to the .NET regex engine will find that the perl +implementation differs in that the numerical ordering of the buffers +is sequential, and not "unnamed first, then named". Thus in the pattern + + /(A)(?<B>B)(C)(?<D>D)/ + +$1 will be 'A', $2 will be 'B', $3 will be 'C' and $4 will be 'D' and not +$1 is 'A', $2 is 'C' and $3 is 'B' and $4 is 'D' that a .NET programmer +would expect. This is considered a feature. :-) (Yves Orton) + +=item Possessive Quantifiers + +Perl now supports the "possessive quantifier" syntax of the "atomic match" +pattern. Basically a possessive quantifier matches as much as it can and never +gives any back. Thus it can be used to control backtracking. The syntax is +similar to non-greedy matching, except instead of using a '?' as the modifier +the '+' is used. Thus C<?+>, C<*+>, C<++>, C<{min,max}+> are now legal +quantifiers. (Yves Orton) + +=item Backtracking control verbs + +The regex engine now supports a number of special-purpose backtrack +control verbs: (*THEN), (*PRUNE), (*MARK), (*SKIP), (*COMMIT), (*FAIL) +and (*ACCEPT). See L<perlre> for their descriptions. (Yves Orton) + +=item Relative backreferences + +A new syntax C<\g{N}> or C<\gN> where "N" is a decimal integer allows a +safer form of back-reference notation as well as allowing relative +backreferences. This should make it easier to generate and embed patterns +that contain backreferences. See L<perlre/"Capture buffers">. (Yves Orton) + +=item C<\K> escape + +The functionality of Jeff Pinyan's module Regexp::Keep has been added to +the core. You can now use in regular expressions the special escape C<\K> +as a way to do something like floating length positive lookbehind. It is +also useful in substitutions like: + + s/(foo)bar/$1/g + +that can now be converted to + + s/foo\Kbar//g + +which is much more efficient. (Yves Orton) + +=item Vertical and horizontal whitespace, and linebreak + +Regular expressions now recognize the C<\v> and C<\h> escapes, that match +vertical and horizontal whitespace, respectively. C<\V> and C<\H> +logically match their complements. + +C<\R> matches a generic linebreak, that is, vertical whitespace, plus +the multi-character sequence C<"\x0D\x0A">. + +=back + +=head2 C<say()> + +say() is a new built-in, only available when C<use feature 'say'> is in +effect, that is similar to print(), but that implicitly appends a newline +to the printed string. See L<perlfunc/say>. (Robin Houston) + +=head2 Lexical C<$_> + +The default variable C<$_> can now be lexicalized, by declaring it like +any other lexical variable, with a simple + + my $_; + +The operations that default on C<$_> will use the lexically-scoped +version of C<$_> when it exists, instead of the global C<$_>. + +In a C<map> or a C<grep> block, if C<$_> was previously my'ed, then the +C<$_> inside the block is lexical as well (and scoped to the block). + +In a scope where C<$_> has been lexicalized, you can still have access to +the global version of C<$_> by using C<$::_>, or, more simply, by +overriding the lexical declaration with C<our $_>. + +=head2 The C<_> prototype + +A new prototype character has been added. C<_> is equivalent to C<$> (it +denotes a scalar), but defaults to C<$_> if the corresponding argument +isn't supplied. Due to the optional nature of the argument, you can only +use it at the end of a prototype, or before a semicolon. + +This has a small incompatible consequence: the prototype() function has +been adjusted to return C<_> for some built-ins in appropriate cases (for +example, C<prototype('CORE::rmdir')>). (Rafael Garcia-Suarez) + +=head2 UNITCHECK blocks + +C<UNITCHECK>, a new special code block has been introduced, in addition to +C<BEGIN>, C<CHECK>, C<INIT> and C<END>. + +C<CHECK> and C<INIT> blocks, while useful for some specialized purposes, +are always executed at the transition between the compilation and the +execution of the main program, and thus are useless whenever code is +loaded at runtime. On the other hand, C<UNITCHECK> blocks are executed +just after the unit which defined them has been compiled. See L<perlmod> +for more information. (Alex Gough) + +=head2 New Pragma, C<mro> + +A new pragma, C<mro> (for Method Resolution Order) has been added. It +permits to switch, on a per-class basis, the algorithm that perl uses to +find inherited methods in case of a mutiple inheritance hierachy. The +default MRO hasn't changed (DFS, for Depth First Search). Another MRO is +available: the C3 algorithm. See L<mro> for more information. +(Brandon Black) + +Note that, due to changes in the implentation of class hierarchy search, +code that used to undef the C<*ISA> glob will most probably break. Anyway, +undef'ing C<*ISA> had the side-effect of removing the magic on the @ISA +array and should not have been done in the first place. + +=head2 readpipe() is now overridable + +The built-in function readpipe() is now overridable. Overriding it permits +also to override its operator counterpart, C<qx//> (a.k.a. C<``>). +Moreover, it now defaults to C<$_> if no argument is provided. (Rafael +Garcia-Suarez) + +=head2 default argument for readline() + +readline() now defaults to C<*ARGV> if no argument is provided. (Rafael +Garcia-Suarez) + +=head2 state() variables + +A new class of variables has been introduced. State variables are similar +to C<my> variables, but are declared with the C<state> keyword in place of +C<my>. They're visible only in their lexical scope, but their value is +persistent: unlike C<my> variables, they're not undefined at scope entry, +but retain their previous value. (Rafael Garcia-Suarez, Nicholas Clark) + +To use state variables, one needs to enable them by using + + use feature "state"; + +or by using the C<-E> command-line switch in one-liners. +See L<perlsub/"Persistent variables via state()">. + +=head2 Stacked filetest operators + +As a new form of syntactic sugar, it's now possible to stack up filetest +operators. You can now write C<-f -w -x $file> in a row to mean +C<-x $file && -w _ && -f _>. See L<perlfunc/-X>. + +=head2 UNIVERSAL::DOES() + +The C<UNIVERSAL> class has a new method, C<DOES()>. It has been added to +solve semantic problems with the C<isa()> method. C<isa()> checks for +inheritance, while C<DOES()> has been designed to be overridden when +module authors use other types of relations between classes (in addition +to inheritance). (chromatic) + +See L<< UNIVERSAL/"$obj->DOES( ROLE )" >>. + +=head2 C<CLONE_SKIP()> + +Perl has now support for the C<CLONE_SKIP> special subroutine. Like +C<CLONE>, C<CLONE_SKIP> is called once per package; however, it is called +just before cloning starts, and in the context of the parent thread. If it +returns a true value, then no objects of that class will be cloned. See +L<perlmod> for details. (Contributed by Dave Mitchell.) + +=head2 Formats + +Formats were improved in several ways. A new field, C<^*>, can be used for +variable-width, one-line-at-a-time text. Null characters are now handled +correctly in picture lines. Using C<@#> and C<~~> together will now +produce a compile-time error, as those format fields are incompatible. +L<perlform> has been improved, and miscellaneous bugs fixed. + +=head2 Byte-order modifiers for pack() and unpack() + +There are two new byte-order modifiers, C<E<gt>> (big-endian) and C<E<lt>> +(little-endian), that can be appended to most pack() and unpack() template +characters and groups to force a certain byte-order for that type or group. +See L<perlfunc/pack> and L<perlpacktut> for details. + +=head2 Byte count feature in pack() + +A new pack() template character, C<".">, returns the number of characters +read so far. + +=head2 C<no VERSION> + +You can now use C<no> followed by a version number to specify that you +want to use a version of perl older than the specified one. + +=head2 C<chdir>, C<chmod> and C<chown> on filehandles + +C<chdir>, C<chmod> and C<chown> can now work on filehandles as well as +filenames, if the system supports respectively C<fchdir>, C<fchmod> and +C<fchown>, thanks to a patch provided by Gisle Aas. + +=head2 OS groups + +C<$(> and C<$)> now return groups in the order where the OS returns them, +thanks to Gisle Aas. This wasn't previously the case. + +=head2 Recursive sort subs + +You can now use recursive subroutines with sort(), thanks to Robin Houston. + +=head2 Exceptions in constant folding + +The constant folding routine is now wrapped in an exception handler, and +if folding throws an exception (such as attempting to evaluate 0/0), perl +now retains the current optree, rather than aborting the whole program. +(Nicholas Clark, Dave Mitchell) + +=head2 Source filters in @INC + +It's possible to enhance the mechanism of subroutine hooks in @INC by +adding a source filter on top of the filehandle opened and returned by the +hook. This feature was planned a long time ago, but wasn't quite working +until now. See L<perlfunc/require> for details. (Nicholas Clark) + +=head2 New internal variables + +=over 4 + +=item C<${^RE_DEBUG_FLAGS}> + +This variable controls what debug flags are in effect for the regular +expression engine when running under C<use re "debug">. See L<re> for +details. + +=item C<${^CHILD_ERROR_NATIVE}> + +This variable gives the native status returned by the last pipe close, +backtick command, successful call to wait() or waitpid(), or from the +system() operator. See L<perlrun> for details. (Contributed by Gisle Aas.) + +=back + +=head2 Miscellaneous + +C<unpack()> now defaults to unpacking the C<$_> variable. + +C<mkdir()> without arguments now defaults to C<$_>. + +The internal dump output has been improved, so that non-printable characters +such as newline and backspace are output in C<\x> notation, rather than +octal. + +The B<-C> option can no longer be used on the C<#!> line. It wasn't +working there anyway. + +=head2 UCD 5.0.0 + +The copy of the Unicode Character Database included in Perl 5 has +been updated to version 5.0.0. + + +=head2 MAD + +MAD, which stands for I<Misc Attribute Decoration>, is a +still-in-development work leading to a Perl 5 to Perl 6 converter. To +enable it, it's necessary to pass the argument C<-Dmad> to Configure. The +obtained perl isn't binary compatible with a regular perl 5.9.4, and has +space and speed penalties; moreover not all regression tests still pass +with it. (Larry Wall, Nicholas Clark) + +=head1 Modules and Pragmata +=head1 Utility Changes +=head1 New Documentation +=head1 Performance Enhancements +=head1 Installation and Configuration Improvements +=head1 Selected Bug Fixes +=head1 New or Changed Diagnostics +=head1 Changed Internals +=head1 New Tests +=head1 Known Problems +=head1 Platform Specific Problems +=head1 Reporting Bugs + +=head1 SEE ALSO + +The F<Changes> file and the perl590delta to perl595delta man pages for +exhaustive details on what changed. + +The F<INSTALL> file for how to build Perl. + +The F<README> file for general stuff. + +The F<Artistic> and F<Copying> files for copyright information. + +=cut diff --git a/pod/perltoc.pod b/pod/perltoc.pod index 160943a052..9504714611 100644 --- a/pod/perltoc.pod +++ b/pod/perltoc.pod @@ -2001,10 +2001,9 @@ X<operator, logical, not> X<not> X<operator, logical, and> X<and> =item Logical or, Defined or, and Exclusive Or -X<operator, logical, or> X<operator, logical, xor> X<operator, logical, -err> +X<operator, logical, or> X<operator, logical, xor> X<operator, logical, defined or> X<operator, logical, exclusive or> -X<or> X<xor> X<err> +X<or> X<xor> =item C Operators Missing From Perl X<operator, missing from perl> X<&> X<*> @@ -2153,7 +2152,7 @@ flow of your Perl program X<control flow>, Keywords related to switch, Keywords related to scoping, Miscellaneous functions, Functions for processes and process groups X<process> X<pid> X<process id>, Keywords related to perl modules X<module>, Keywords related to classes and -object-orientedness X<object> X<class> X<package>, Low-level socket +object-orientation X<object> X<class> X<package>, Low-level socket functions X<socket> X<sock>, System V interprocess communication functions X<IPC> X<System V> X<semaphore> X<shared memory> X<memory> X<message>, Fetching user and group info X<user> X<group> X<password> X<uid> X<gid> @@ -2605,7 +2604,7 @@ B<-M>[B<->]I<'module ...'>, B<-[mM]>[B<->]I<module=arg[,arg]...>, B<-n> X<-n>, B<-p> X<-p>, B<-P> X<-P>, B<-s> X<-s>, B<-S> X<-S>, B<-t> X<-t>, B<-T> X<-T>, B<-u> X<-u>, B<-U> X<-U>, B<-v> X<-v>, B<-V> X<-V>, B<-V:>I<configvar>, B<-w> X<-w>, B<-W> X<-W>, B<-X> X<-X>, B<-x> X<-x>, -B<-x> I<directory> +B<-x>I<directory> =back @@ -2635,6 +2634,8 @@ X<SYS$LOGIN> =item DESCRIPTION +=item SEE ALSO + =back =head2 perllexwarn - Perl Lexical Warnings @@ -2666,8 +2667,6 @@ X<warning, reporting> X<warning, registering> =back -=item TODO - =item SEE ALSO =item AUTHOR @@ -2865,7 +2864,7 @@ m X</m> X<regex, multiline> X<regexp, multiline> X<regular expression, multiline>, s X</s> X<regex, single-line> X<regexp, single-line> X<regular expression, single-line>, i X</i> X<regex, case-insensitive> X<regexp, case-insensitive> X<regular expression, case-insensitive>, x X</x>, p X</p> -X<regex, preserve> X<regexp, preserve> +X<regex, preserve> X<regexp, preserve>, g and c X</g> X</c> =item Regular Expressions @@ -2926,7 +2925,7 @@ C<(?(condition)yes-pattern|no-pattern)> =item PCRE/Python Support -C<< (?PE<lt>NAMEE<gt>pattern) >>, C<< (?P=NAME) >>, C<< (?P>NAME) >> +C<< (?P<NAME>pattern) >>, C<< (?P=NAME) >>, C<< (?P>NAME) >> =item BUGS @@ -4265,31 +4264,32 @@ AnyDBM_File, Archive::Extract, Archive::Tar, Archive::Tar::File, Attribute::Handlers, AutoLoader, AutoSplit, B, B::Concise, B::Debug, B::Deparse, B::Lint, B::Showlex, B::Terse, B::Xref, Benchmark, CGI, CGI::Apache, CGI::Carp, CGI::Cookie, CGI::Fast, CGI::Pretty, CGI::Push, -CGI::Switch, CGI::Util, CPAN, CPAN::FirstTime, CPAN::Kwalify, CPAN::Nox, -CPAN::Version, CPANPLUS, CPANPLUS::Dist::Base, CPANPLUS::Dist::Sample, -CPANPLUS::Shell::Classic, CPANPLUS::Shell::Default::Plugins::HOWTO, Carp, -Carp::Heavy, Class::ISA, Class::Struct, Compress::Raw::Zlib, -Compress::Zlib, Config, Cwd, DB, DBM_Filter, DBM_Filter::compress, -DBM_Filter::encode, DBM_Filter::int32, DBM_Filter::null, DBM_Filter::utf8, -DB_File, Data::Dumper, Devel::DProf, Devel::InnerPackage, Devel::Peek, -Devel::SelfStubber, Digest, Digest::MD5, Digest::SHA, Digest::base, -Digest::file, DirHandle, Dumpvalue, DynaLoader, Encode, Encode::Alias, -Encode::Byte, Encode::CJKConstants, Encode::CN, Encode::CN::HZ, -Encode::Config, Encode::EBCDIC, Encode::Encoder, Encode::Encoding, -Encode::GSM0338, Encode::Guess, Encode::JP, Encode::JP::H2Z, -Encode::JP::JIS7, Encode::KR, Encode::KR::2022_KR, Encode::MIME::Header, -Encode::MIME::Name, Encode::PerlIO, Encode::Supported, Encode::Symbol, -Encode::TW, Encode::Unicode, Encode::Unicode::UTF7, English, Env, Errno, -Exporter, Exporter::Heavy, ExtUtils::CBuilder, -ExtUtils::CBuilder::Platform::Windows, ExtUtils::Command, -ExtUtils::Command::MM, ExtUtils::Constant, ExtUtils::Constant::Base, -ExtUtils::Constant::Utils, ExtUtils::Constant::XS, ExtUtils::Embed, -ExtUtils::Install, ExtUtils::Installed, ExtUtils::Liblist, ExtUtils::MM, -ExtUtils::MM_AIX, ExtUtils::MM_Any, ExtUtils::MM_BeOS, ExtUtils::MM_Cygwin, -ExtUtils::MM_DOS, ExtUtils::MM_MacOS, ExtUtils::MM_NW5, ExtUtils::MM_OS2, -ExtUtils::MM_QNX, ExtUtils::MM_UWIN, ExtUtils::MM_Unix, ExtUtils::MM_VMS, -ExtUtils::MM_VOS, ExtUtils::MM_Win32, ExtUtils::MM_Win95, ExtUtils::MY, -ExtUtils::MakeMaker, ExtUtils::MakeMaker::Config, ExtUtils::MakeMaker::FAQ, +CGI::Switch, CGI::Util, CORE, CPAN, CPAN::API::HOWTO, CPAN::FirstTime, +CPAN::Kwalify, CPAN::Nox, CPAN::Version, CPANPLUS, CPANPLUS::Dist::Base, +CPANPLUS::Dist::Sample, CPANPLUS::Shell::Classic, +CPANPLUS::Shell::Default::Plugins::HOWTO, Carp, Carp::Heavy, Class::ISA, +Class::Struct, Compress::Raw::Zlib, Compress::Zlib, Config, Cwd, DB, +DBM_Filter, DBM_Filter::compress, DBM_Filter::encode, DBM_Filter::int32, +DBM_Filter::null, DBM_Filter::utf8, DB_File, Data::Dumper, Devel::DProf, +Devel::InnerPackage, Devel::Peek, Devel::SelfStubber, Digest, Digest::MD5, +Digest::SHA, Digest::base, Digest::file, DirHandle, Dumpvalue, DynaLoader, +Encode, Encode::Alias, Encode::Byte, Encode::CJKConstants, Encode::CN, +Encode::CN::HZ, Encode::Config, Encode::EBCDIC, Encode::Encoder, +Encode::Encoding, Encode::GSM0338, Encode::Guess, Encode::JP, +Encode::JP::H2Z, Encode::JP::JIS7, Encode::KR, Encode::KR::2022_KR, +Encode::MIME::Header, Encode::MIME::Name, Encode::PerlIO, +Encode::Supported, Encode::Symbol, Encode::TW, Encode::Unicode, +Encode::Unicode::UTF7, English, Env, Errno, Exporter, Exporter::Heavy, +ExtUtils::CBuilder, ExtUtils::CBuilder::Platform::Windows, +ExtUtils::Command, ExtUtils::Command::MM, ExtUtils::Constant, +ExtUtils::Constant::Base, ExtUtils::Constant::Utils, +ExtUtils::Constant::XS, ExtUtils::Embed, ExtUtils::Install, +ExtUtils::Installed, ExtUtils::Liblist, ExtUtils::MM, ExtUtils::MM_AIX, +ExtUtils::MM_Any, ExtUtils::MM_BeOS, ExtUtils::MM_Cygwin, ExtUtils::MM_DOS, +ExtUtils::MM_MacOS, ExtUtils::MM_NW5, ExtUtils::MM_OS2, ExtUtils::MM_QNX, +ExtUtils::MM_UWIN, ExtUtils::MM_Unix, ExtUtils::MM_VMS, ExtUtils::MM_VOS, +ExtUtils::MM_Win32, ExtUtils::MM_Win95, ExtUtils::MY, ExtUtils::MakeMaker, +ExtUtils::MakeMaker::Config, ExtUtils::MakeMaker::FAQ, ExtUtils::MakeMaker::Tutorial, ExtUtils::MakeMaker::bytes, ExtUtils::MakeMaker::vmsish, ExtUtils::Manifest, ExtUtils::Mkbootstrap, ExtUtils::Mksymlists, ExtUtils::Packlist, ExtUtils::ParseXS, @@ -4353,18 +4353,18 @@ Pod::Simple::TextContent, Pod::Simple::XMLOutStream, Pod::Text, Pod::Text::Color, Pod::Text::Overstrike, Pod::Text::Termcap, Pod::Usage, SDBM_File, Safe, Scalar::Util, Search::Dict, SelectSaver, SelfLoader, Shell, Socket, Storable, Switch, Symbol, Sys::Hostname, Sys::Syslog, -Term::ANSIColor, Term::Cap, Term::Complete, Term::ReadLine, Term::UI, Test, -Test::Builder, Test::Builder::Module, Test::Builder::Tester, -Test::Builder::Tester::Color, Test::Harness, Test::Harness::Assert, -Test::Harness::Iterator, Test::Harness::Point, Test::Harness::Results, -Test::Harness::Straps, Test::Harness::TAP, Test::Harness::Util, Test::More, -Test::Simple, Test::Tutorial, Text::Abbrev, Text::Balanced, -Text::ParseWords, Text::Soundex, Text::Tabs, Text::Wrap, Thread, -Thread::Queue, Thread::Semaphore, Tie::Array, Tie::File, Tie::Handle, -Tie::Hash, Tie::Hash::NamedCapture, Tie::Memoize, Tie::RefHash, -Tie::Scalar, Tie::SubstrHash, Time::HiRes, Time::Local, Time::Piece, -Time::Piece::Seconds, Time::gmtime, Time::localtime, Time::tm, UNIVERSAL, -Unicode::Collate, Unicode::Normalize, Unicode::UCD, User::grent, +Sys::Syslog::win32::Win32, Term::ANSIColor, Term::Cap, Term::Complete, +Term::ReadLine, Term::UI, Test, Test::Builder, Test::Builder::Module, +Test::Builder::Tester, Test::Builder::Tester::Color, Test::Harness, +Test::Harness::Assert, Test::Harness::Iterator, Test::Harness::Point, +Test::Harness::Results, Test::Harness::Straps, Test::Harness::TAP, +Test::Harness::Util, Test::More, Test::Simple, Test::Tutorial, +Text::Abbrev, Text::Balanced, Text::ParseWords, Text::Soundex, Text::Tabs, +Text::Wrap, Thread, Thread::Queue, Thread::Semaphore, Tie::Array, +Tie::File, Tie::Handle, Tie::Hash, Tie::Hash::NamedCapture, Tie::Memoize, +Tie::RefHash, Tie::Scalar, Tie::SubstrHash, Time::HiRes, Time::Local, +Time::Piece, Time::Piece::Seconds, Time::gmtime, Time::localtime, Time::tm, +UNIVERSAL, Unicode::Collate, Unicode::Normalize, Unicode::UCD, User::grent, User::pwent, Win32, Win32API::File, Win32CORE, XS::APItest, XS::Typemap, XSLoader @@ -4769,9 +4769,10 @@ currently selected output channel, CV =item D dangling statement, data structure, data type, datagram, DBM, declaration, -decrement, default, defined, delimiter, dereference, derived class, -descriptor, destroy, destructor, device, directive, directory, directory -handle, dispatch, distribution, dweomer, dwimmer, dynamic scoping +decrement, default, defined, delimiter, deprecated modules and features, +dereference, derived class, descriptor, destroy, destructor, device, +directive, directory, directory handle, dispatch, distribution, (to be) +dropped modules, dweomer, dwimmer, dynamic scoping =item E @@ -5526,7 +5527,7 @@ callback C</m> - RXf_PMf_MULTILINE, C</s> - RXf_PMf_SINGLELINE, C</i> - RXf_PMf_FOLD, C</x> - RXf_PMf_EXTENDED, C</p> - RXf_PMf_KEEPCOPY, RXf_PMf_LOCALE, RXf_UTF8, RXf_SPLIT, RXf_SKIPWHITE, RXf_START_ONLY, -RXf_WHITE +RXf_WHITE, RXf_NULL =item exec @@ -5792,9 +5793,8 @@ vverify X<vverify> =item MRO Functions -mro_get_linear_isa X<mro_get_linear_isa>, mro_get_linear_isa_c3 -X<mro_get_linear_isa_c3>, mro_get_linear_isa_dfs X<mro_get_linear_isa_dfs>, -mro_method_changed_in X<mro_method_changed_in> +mro_get_linear_isa X<mro_get_linear_isa>, mro_method_changed_in +X<mro_method_changed_in> =item Multicall Functions @@ -6021,7 +6021,8 @@ magic_sethint X<magic_sethint>, mg_localize X<mg_localize> =item MRO Functions -mro_isa_changed_in X<mro_isa_changed_in> +mro_get_linear_isa_c3 X<mro_get_linear_isa_c3>, mro_get_linear_isa_dfs +X<mro_get_linear_isa_dfs>, mro_isa_changed_in X<mro_isa_changed_in> =item Pad Data Structures @@ -6397,6 +6398,8 @@ L<http://perl.com/>, L<http://use.perl.org/>, L<http://www.perlmonks.org/> =item test B +=item Deparse inlined constants + =item A decent benchmark =item fix tainting bugs @@ -6435,6 +6438,8 @@ L<http://perl.com/>, L<http://use.perl.org/>, L<http://www.perlmonks.org/> =over 4 +=item Modernize the order of directories in @INC + =item Make it clear from -v if this is the exact official release =item Profile Perl - am I hot or not? @@ -6459,6 +6464,8 @@ L<http://perl.com/>, L<http://use.perl.org/>, L<http://www.perlmonks.org/> =item Unicode and glob() +=item Unicode and lc/uc operators + =item use less 'memory' =item Re-implement C<:unique> in a way that is actually thread-safe @@ -6481,10 +6488,18 @@ L<http://perl.com/>, L<http://use.perl.org/>, L<http://www.perlmonks.org/> =over 4 +=item state variable initialization in list context + =item Implement $value ~~ 0 .. $range +=item A does() built-in + +=item Tied filehandles and write() don't mix + =item Attach/detach debugger from running program +=item Optimize away empty destructors + =item LVALUE functions for lists =item LVALUE functions in the debugger @@ -6650,6 +6665,12 @@ and horizontal whitespace, and linebreak =item bignum, bigint, bigrat +=item Math::BigInt/Math::BigFloat + +config(), import(), roundmode common, bpi(), bcos(), bsin(), batan(), +batan2(), bmuladd(), bexp(), bnok(), from_hex(), from_oct(), and +from_bin(), as_oct() + =item New Core Modules =item Module changes @@ -6691,7 +6712,13 @@ C<Attribute::Handlers>, C<B::Lint>, C<B>, C<Thread> =item Static build on Win32 -=item C<d_pseudofork> +=item win32 builds + +=item C<d_pseudofork> and C<d_printf_format_null> + +=item Help + +=item 64bit systems =item Ports @@ -6723,6 +6750,145 @@ C<Attribute::Handlers>, C<B::Lint>, C<B>, C<Thread> =back +=head2 perl5100delta, perldelta - what is new for perl 5.10.0 + +=over 4 + +=item DESCRIPTION + +=item Incompatible Changes + +=over 4 + +=item Packing and UTF-8 strings + +=item The C<$*> and C<$#> variables have been removed + +=item substr() lvalues are no longer fixed-length + +=item Parsing of C<-f _> + +=item C<:unique> + +=item Scoping of the C<sort> pragma + +=item Scoping of C<bignum>, C<bigint>, C<bigrat> + +=item Effect of pragmas in eval + +=item chdir FOO + +=item Handling of .pmc files + +=item @- and @+ in patterns + +=item $AUTOLOAD can now be tainted + +=item Tainting and printf + +=item undef and signal handlers + +=item strictures and array/hash dereferencing in defined() + +=item C<(?p{})> has been removed + +=item Pseudo-hashes have been removed + +=item Removal of the bytecode compiler and of perlcc + +=item Removal of the JPL + +=item Recursive inheritance detected earlier + +=back + +=item Core Enhancements + +=over 4 + +=item The C<feature> pragma + +=item New B<-E> command-line switch + +=item Defined-or operator + +=item Switch and Smart Match operator + +=item Regular expressions + +Recursive Patterns, Named Capture Buffers, Possessive Quantifiers, +Backtracking control verbs, Relative backreferences, C<\K> escape, Vertical +and horizontal whitespace, and linebreak + +=item C<say()> + +=item Lexical C<$_> + +=item The C<_> prototype + +=item UNITCHECK blocks + +=item New Pragma, C<mro> + +=item readpipe() is now overridable + +=item default argument for readline() + +=item state() variables + +=item Stacked filetest operators + +=item UNIVERSAL::DOES() + +=item C<CLONE_SKIP()> + +=item Formats + +=item Byte-order modifiers for pack() and unpack() + +=item Byte count feature in pack() + +=item C<no VERSION> + +=item C<chdir>, C<chmod> and C<chown> on filehandles + +=item OS groups + +=item Recursive sort subs + +=item Exceptions in constant folding + +=item Source filters in @INC + +=item New internal variables + +C<${^RE_DEBUG_FLAGS}>, C<${^CHILD_ERROR_NATIVE}> + +=item Miscellaneous + +=item UCD 5.0.0 + +=item MAD + +=back + +=item Modules and Pragmata +=head1 Utility Changes +=head1 New Documentation +=head1 Performance Enhancements +=head1 Installation and Configuration Improvements +=head1 Selected Bug Fixes +=head1 New or Changed Diagnostics +=head1 Changed Internals +=head1 New Tests +=head1 Known Problems +=head1 Platform Specific Problems +=head1 Reporting Bugs + +=item SEE ALSO + +=back + =head2 perl595delta, perldelta - what is new for perl v5.9.5 =over 4 @@ -6785,6 +6951,12 @@ and horizontal whitespace, and linebreak =item bignum, bigint, bigrat +=item Math::BigInt/Math::BigFloat + +config(), import(), roundmode common, bpi(), bcos(), bsin(), batan(), +batan2(), bmuladd(), bexp(), bnok(), from_hex(), from_oct(), and +from_bin(), as_oct() + =item New Core Modules =item Module changes @@ -6826,7 +6998,13 @@ C<Attribute::Handlers>, C<B::Lint>, C<B>, C<Thread> =item Static build on Win32 -=item C<d_pseudofork> +=item win32 builds + +=item C<d_pseudofork> and C<d_printf_format_null> + +=item Help + +=item 64bit systems =item Ports @@ -10031,8 +10209,8 @@ C<PATH>, I<nroff>, Permissions =item Optional Libraries for Perl on Cygwin -C<-lcrypt>, C<-lgdbm> (C<use GDBM_File>), C<-ldb> (C<use DB_File>), -C<-lcygipc> (C<use IPC::SysV>), C<-lutil> +C<-lcrypt>, C<-lgdbm_compat> (C<use GDBM_File>), C<-ldb> (C<use DB_File>), +C<cygserver> (C<use IPC::SysV>), C<-lutil> =item Configure-time Options for Perl on Cygwin @@ -10042,20 +10220,12 @@ C<-Dmksymlinks> =item Suspicious Warnings on Cygwin -I<dlsym()>, Win9x and C<d_eofnblk>, Compiler/Preprocessor defines +Win9x and C<d_eofnblk>, Compiler/Preprocessor defines =back =item MAKE ON CYGWIN -=over 4 - -=item Errors on Cygwin - -=item ld2 on Cygwin - -=back - =item TEST ON CYGWIN =over 4 @@ -10074,12 +10244,14 @@ I<dlsym()>, Win9x and C<d_eofnblk>, Compiler/Preprocessor defines =item Script Portability on Cygwin -Pathnames, Text/Binary, PerlIO, F<.exe>, cygwin vs. windows process ids, -C<chown()>, Miscellaneous +Pathnames, Text/Binary, PerlIO, F<.exe>, Cygwin vs. Windows process ids, +Cygwin vs. Windows errors, C<chown()>, Miscellaneous =item Prebuilt methods: -C<Cwd::cwd>, C<Cygwin::pid_to_winpid>, C<Cygwin::winpid_to_pid> +C<Cwd::cwd>, C<Cygwin::pid_to_winpid>, C<Cygwin::winpid_to_pid>, +C<Cygwin::win_to_posix_path>, C<Cygwin::posix_to_win_path>, +C<Cygwin::mount_table()>, C<Cygwin::mount_flags>, C<Cygwin::is_binmount> =back @@ -10088,7 +10260,7 @@ C<Cwd::cwd>, C<Cygwin::pid_to_winpid>, C<Cygwin::winpid_to_pid> =item MANIFEST ON CYGWIN Documentation, Build, Configure, Make, Install, Tests, Compiled Perl -Source, Compiled Module Source, Perl Modules/Scripts +Source, Compiled Module Source, Perl Modules/Scripts, Perl Module Tests =item BUGS ON CYGWIN @@ -10281,6 +10453,8 @@ DJGPP, Pthreads =item nss_delete core dump from op/pwent or op/grent +=item Miscellaneous + =item AUTHOR =item DATE @@ -11201,6 +11375,8 @@ Digital UNIX formerly known as DEC OSF/1) systems =item PERL5LIB and PERLLIB +=item The Perl Forked Debugger + =item PERL_VMS_EXCEPTION_DEBUG =item Command line @@ -11283,9 +11459,9 @@ utime LIST, waitpid PID,FLAGS =item Setting Up Perl on Win32 Make, Command Shell, Borland C++, Microsoft Visual C++, Microsoft Visual -C++ 2005 Express Edition, Microsoft Visual C++ Toolkit 2003, Microsoft -Platform SDK 64-bit Compiler, MinGW release 3 with gcc, MinGW release 1 -with gcc +C++ 2008 Express Edition Beta 2, Microsoft Visual C++ 2005 Express Edition, +Microsoft Visual C++ Toolkit 2003, Microsoft Platform SDK 64-bit Compiler, +MinGW release 3 with gcc, MinGW release 1 with gcc =item Building @@ -11470,9 +11646,10 @@ signal name: .. =item BUGS AND LIMITATIONS -Threadsafe modules, Using non-threadsafe modules, Parent-child threads, -Creating threads inside special blocks, Unsafe signals, Perl has been built -with C<PERL_OLD_SIGNALS> (see C<perl -V>), The environment variable +Thread-safe modules, Using non-thread-safe modules, Current working +directory, Environment variables, Parent-child threads, Creating threads +inside special blocks, Unsafe signals, Perl has been built with +C<PERL_OLD_SIGNALS> (see C<perl -V>), The environment variable C<PERL_SIGNALS> is set to C<unsafe> (see L<perlrun/"PERL_SIGNALS">), The module L<Perl::Unsafe::Signals> is used, Returning closures from threads, Returning objects from threads, Perl Bugs and the CPAN Version of @@ -11751,7 +11928,7 @@ escapes =item DESCRIPTION -=item CUSTOM TRANSLATORS +=item ALIASES =item CUSTOM ALIASES @@ -11769,7 +11946,7 @@ escapes =item charnames::vianame(name) -=item ALIASES +=item CUSTOM TRANSLATORS =item ILLEGAL CHARACTERS @@ -11799,9 +11976,11 @@ escapes =item TECHNICAL NOTES +=item CAVEATS + =item BUGS -=item AUTHOR +=item AUTHORS =item COPYRIGHT @@ -11963,8 +12142,6 @@ upgrading for byte-strings =item The 'say' feature -=item the 'err' feature - =item the 'state' feature =back @@ -12141,8 +12318,6 @@ operations =back -=item PERFORMANCE CONSIDERATIONS - =item SEE ALSO =over 4 @@ -12647,6 +12822,10 @@ $ae->extract_path, $ae->files =item File Extensions +=item Supporting Very Large Files + +=item Bunzip2 support of arbitrary extensions. + =back =item GLOBAL VARIABLES @@ -12867,7 +13046,7 @@ Can't you lazy-load data instead?, How much memory will an X kb tar file need?, What do you do with unsupported filetypes in an archive?, I'm using WinZip, or some other non-POSIX client, and files are not being extracted properly!, How do I extract only files that have property X from an -archive?, How do I access .tar.Z files? +archive?, How do I access .tar.Z files?, How do I handle Unicode strings? =item TODO @@ -13257,7 +13436,8 @@ B<-base>I<n>, B<-bigendian>, B<-littleendian> =item Other options -B<-main>, B<-nomain>, B<-nobanner>, B<-banner>, B<-banneris> => subref +B<-src>, B<-stash="somepackage">, B<-main>, B<-nomain>, B<-nobanner>, +B<-banner>, B<-banneris> => subref =item Option Stickiness @@ -13300,7 +13480,8 @@ B<#typenum> perl -MO=Concise,bar foo.pl, perl -MDigest::MD5=md5 -MO=Concise,md5 -e1, perl -MPOSIX -MO=Concise,_POSIX_ARG_MAX -e1, perl -MPOSIX -MO=Concise,a -e 'print _POSIX_SAVED_IDS', perl -MPOSIX -MO=Concise,a -e 'sub -a{_POSIX_SAVED_IDS}' +a{_POSIX_SAVED_IDS}', perl -MB::Concise -e +'B::Concise::compile("-exec","-src", \%B::Concise::)->()' =item Using B::Concise outside of the O framework @@ -13365,7 +13546,8 @@ B<i>I<NUMBER>, B<T>, B<v>I<STRING>B<.>, B<-x>I<LEVEL> =item ambient_pragmas -strict, $[, bytes, utf8, integer, re, warnings, hint_bits, warning_bits +strict, $[, bytes, utf8, integer, re, warnings, hint_bits, warning_bits, +%^H =item coderef2text @@ -13982,6 +14164,22 @@ FCGI_SOCKET_PATH, FCGI_LISTEN_QUEUE =back +=head2 CORE - Pseudo-namespace for Perl's core routines + +=over 4 + +=item SYNOPSIS + +=item DESCRIPTION + +=item OVERRIDING CORE FUNCTIONS + +=item AUTHOR + +=item SEE ALSO + +=back + =head2 CPAN - query, download and build perl modules from CPAN sites =over 4 @@ -14008,10 +14206,14 @@ and the C<fforce> pragma, Lockfile, Signals =item mkmyconfig +=item recent ***EXPERIMENTAL COMMAND*** + =item recompile =item report Bundle|Distribution|Module +=item smoke ***EXPERIMENTAL COMMAND*** + =item upgrade [Module|/Regex/]... =item The four C<CPAN::*> Classes: Author, Bundle, Module, Distribution @@ -14059,9 +14261,9 @@ cwd, getcwd, fastcwd, backtickcwd =item Language Specs -comment [scalar], cpanconfig [hash], disabled [boolean], goto [string], -install [hash], make [hash], match [hash], patches [array], pl [hash], test -[hash] +comment [scalar], cpanconfig [hash], depends [hash] *** EXPERIMENTAL +FEATURE ***, disabled [boolean], goto [string], install [hash], make +[hash], match [hash], patches [array], pl [hash], test [hash] =item Processing Instructions @@ -14090,7 +14292,8 @@ CPAN::Bundle::inst_file(), CPAN::Bundle::inst_version(), CPAN::Bundle::uptodate(), CPAN::Bundle::install(), CPAN::Bundle::make(), CPAN::Bundle::readme(), CPAN::Bundle::test(), CPAN::Distribution::as_glimpse(), CPAN::Distribution::as_string(), -CPAN::Distribution::author, CPAN::Distribution::clean(), +CPAN::Distribution::author, CPAN::Distribution::pretty_id(), +CPAN::Distribution::base_id(), CPAN::Distribution::clean(), CPAN::Distribution::containsmods(), CPAN::Distribution::cvs_import(), CPAN::Distribution::dir(), CPAN::Distribution::force($method,@args), CPAN::Distribution::get(), CPAN::Distribution::install(), @@ -14168,7 +14371,7 @@ http firewall, ftp firewall, One way visibility, SOCKS, IP Masquerade =item FAQ -1), 2), 3), 4), 5), 6), 7), 8), 9), 10), 11), 12), 13), 14), 15) +1), 2), 3), 4), 5), 6), 7), 8), 9), 10), 11), 12), 13), 14), 15), 16) =item COMPATIBILITY @@ -14194,6 +14397,28 @@ http firewall, ftp firewall, One way visibility, SOCKS, IP Masquerade =back +=head2 CPAN::API::HOWTO - a recipe book for programming with CPAN.pm + +=over 4 + +=item RECIPES + +=over 4 + +=item What distribution contains a particular module? + +=item What modules does a particular distribution contain? + +=back + +=item SEE ALSO + +=item LICENSE + +=item AUTHOR + +=back + =head2 CPAN::FirstTime - Utility for CPAN::Config file Initialization =over 4 @@ -14202,6 +14427,22 @@ http firewall, ftp firewall, One way visibility, SOCKS, IP Masquerade =item DESCRIPTION +=back + +auto_commit, build_cache, build_dir, build_dir_reuse, +build_requires_install_policy, cache_metadata, check_sigs, colorize_output, +colorize_print, colorize_warn, colorize_debug, commandnumber_in_prompt, +ftp_passive, getcwd, histfile, histsize, inactivity_timeout, index_expire, +inhibit_startup_message, keep_source_where, load_module_verbosity, +makepl_arg, make_arg, make_install_arg, make_install_make_command, +mbuildpl_arg, mbuild_arg, mbuild_install_arg, mbuild_install_build_command, +pager, prefer_installer, prefs_dir, prerequisites_policy, +randomize_urllist, scan_cache, shell, show_unparsable_versions, +show_upload_date, show_zero_versions, tar_verbosity, term_is_latin, +term_ornaments, test_report, use_sqlite, yaml_load_code, yaml_module + +=over 4 + =item LICENSE =back @@ -14360,7 +14601,8 @@ verbose => BOOL] ) =over 4 -=item $mod_obj = $cb->parse_module( module => $modname|$distname|$modobj ) +=item $mod_obj = $cb->parse_module( module => +$modname|$distname|$modobj|URI ) Text::Bastardize, Text-Bastardize, Text-Bastardize-1.06, AYRNIEU/Text-Bastardize, AYRNIEU/Text-Bastardize-1.06, @@ -14603,7 +14845,7 @@ perlwrapper =item add_SOMETHING( ITEM => VAL, [ITEM => VAL, ITEM => VAL, ... ] ); set|get_conf, set|get_program, _set|_get_build, _set|_get_source, -_set|_get_mirror, _set|_get_dist, _set|_get_fetch, _set|_get_daemon +_set|_get_mirror, _set|_get_fetch =back @@ -16500,11 +16742,11 @@ C<baserev>, C<bash>, C<bin>, C<binexp>, C<bison>, C<byacc>, C<byteorder> C<c>, C<castflags>, C<cat>, C<cc>, C<cccdlflags>, C<ccdlflags>, C<ccflags>, C<ccflags_uselargefiles>, C<ccname>, C<ccsymbols>, C<ccversion>, C<cf_by>, -C<cf_email>, C<cf_time>, C<charsize>, C<chgrp>, C<chmod>, C<chown>, -C<clocktype>, C<comm>, C<compress>, C<contains>, C<cp>, C<cpio>, C<cpp>, -C<cpp_stuff>, C<cppccsymbols>, C<cppflags>, C<cpplast>, C<cppminus>, -C<cpprun>, C<cppstdin>, C<cppsymbols>, C<crypt_r_proto>, C<cryptlib>, -C<csh>, C<ctermid_r_proto>, C<ctime_r_proto> +C<cf_email>, C<cf_time>, C<chgrp>, C<chmod>, C<chown>, C<clocktype>, +C<comm>, C<compress>, C<contains>, C<cp>, C<cpio>, C<cpp>, C<cpp_stuff>, +C<cppccsymbols>, C<cppflags>, C<cpplast>, C<cppminus>, C<cpprun>, +C<cppstdin>, C<cppsymbols>, C<crypt_r_proto>, C<cryptlib>, C<csh>, +C<ctermid_r_proto>, C<ctime_r_proto> =item d @@ -16736,7 +16978,7 @@ C<quadkind>, C<quadtype> C<randbits>, C<randfunc>, C<random_r_proto>, C<randseedtype>, C<ranlib>, C<rd_nodata>, C<readdir64_r_proto>, C<readdir_r_proto>, C<revision>, C<rm>, -C<rmail>, C<run>, C<runnm> +C<rm_try>, C<rmail>, C<run>, C<runnm> =item s @@ -16852,9 +17094,7 @@ abs_path, realpath, fast_abs_path =back -=head2 DB - programmatic interface to the Perl debugging API (draft, -subject to -change) +=head2 DB - programmatic interface to the Perl debugging API =over 4 @@ -17428,7 +17668,7 @@ $md5->add_bits($bitstring), $md5->digest, $md5->hexdigest, $md5->b64digest =over 4 -=item SYNOPSIS (SHA) +=item SYNOPSIS =item SYNOPSIS (HMAC-SHA) @@ -20035,7 +20275,7 @@ C<fileparse_set_fstype> X<filesystem> =back -=head2 File::CheckTree, validate - run many filetest checks on a tree +=head2 File::CheckTree - run many filetest checks on a tree =over 4 @@ -20330,7 +20570,7 @@ B<~>, B<~user>, B<.>, B<*>, B<?>, B<\>, B<[]>, B<{,}>, B<()> =item FUNCTIONS -mode, verbose, error, verbose, skip_others, keep_root, result, error +mode, verbose, error, verbose, safe, keep_root, result, error =item TRADITIONAL INTERFACE @@ -20342,10 +20582,27 @@ mode, verbose, error, verbose, skip_others, keep_root, result, error =item DIAGNOSTICS +mkdir [path]: [errmsg] (SEVERE), No root path(s) specified, No such file or +directory, cannot fetch initial working directory: [errmsg], cannot stat +initial working directory: [errmsg], cannot chdir to [dir]: [errmsg], +directory [dir] changed before chdir, expected dev=[n] inode=[n], actual +dev=[n] ino=[n], aborting. (FATAL), cannot make directory [dir] +read+writeable: [errmsg], cannot read [dir]: [errmsg], cannot reset chmod +[dir]: [errmsg], cannot chdir to [parent-dir] from [child-dir]: [errmsg], +aborting. (FATAL), cannot stat prior working directory [dir]: [errmsg], +aborting. (FATAL), previous directory [parent-dir] changed before entering +[child-dir], expected dev=[n] inode=[n], actual dev=[n] ino=[n], aborting. +(FATAL), cannot make directory [dir] writeable: [errmsg], cannot remove +directory [dir]: [errmsg], cannot restore permissions of [dir] to [0nnn]: +[errmsg], cannot make file [file] writeable: [errmsg], cannot unlink file +[file]: [errmsg], cannot restore permissions of [file] to [0nnn]: [errmsg] + =item SEE ALSO =item BUGS +=item ACKNOWLEDGEMENTS + =item AUTHORS =item COPYRIGHT @@ -20632,6 +20889,10 @@ devnull tmpdir +case_tolerant + +file_name_is_absolute + catfile canonpath @@ -25457,6 +25718,8 @@ Input, Output =item bsqrt() +=item broot() + =item bfac() =item round() @@ -25568,11 +25831,6 @@ bsqrt(), div(), blog(), bexp() =item EXPORTS -=item BUGS - -broot() does not work, Out of Memory!, Fails to load Calc on Perl prior -5.6.0 - =item CAVEATS bstr(), bsstr() and 'cmp', int(), length, bdiv, infinity handling, @@ -25718,8 +25976,6 @@ the same terms as Perl itself. =item bfac() -=item blog() - =item bround()/round()/bfround() =item bmod() @@ -25766,6 +26022,10 @@ the same terms as Perl itself. =item bpow() +=item bexp() + +=item bnok() + =item config() =back @@ -26476,6 +26736,16 @@ _infer_xs_spec rscan_dir +dist_dir + +man3page_name + +expand_test_dir + +_detildefy + +find_perl_interpreter + =over 4 =item AUTHOR @@ -26605,6 +26875,10 @@ Module::Build works even if YAML.pm is not installed =item Caveats +=item ACKNOWLEDGEMENTS + +=item BUG REPORTS + =item AUTHOR =item COPYRIGHT @@ -26664,6 +26938,8 @@ modules, verbose, nocache =item See Also +=item BUG REPORTS + =item AUTHOR =item COPYRIGHT @@ -27060,8 +27336,8 @@ Net::Ping->new([$proto [, $def_timeout [, $bytes [, $device [, $tos ]]]]]);, $p->ping($host [, $timeout]);, $p->source_verify( { 0 | 1 } );, $p->service_check( { 0 | 1 } );, $p->tcp_service_check( { 0 | 1 } );, $p->hires( { 0 | 1 } );, $p->bind($local_addr);, $p->open($host);, $p->ack( -[ $host ] );, $p->nack( $failed_ack_host );, $p->close();, pingecho($host -[, $timeout]); +[ $host ] );, $p->nack( $failed_ack_host );, $p->close();, +$p->port_number([$port_number]), pingecho($host [, $timeout]); =back @@ -27520,8 +27796,8 @@ opdump (PAT) :base_core, :base_mem, :base_loop, :base_io, :base_orig, :base_math, :base_thread, :default, :filesys_read, :sys_db, :browse, :filesys_open, -:filesys_write, :subprocess, :ownprocess, :others, :still_to_be_decided, -:dangerous +:filesys_write, :subprocess, :ownprocess, :others, :load, +:still_to_be_decided, :dangerous =item SEE ALSO @@ -30091,6 +30367,8 @@ B<setlogmask($mask_priority)>, B<setlogsock($sock_type)>, B<setlogsock($sock_type, $stream_location)> (added in Perl 5.004_02), B<Note>, B<closelog()> +=item THE RULES OF SYS::SYSLOG + =item EXAMPLES =item CONSTANTS @@ -30105,18 +30383,31 @@ B<Note>, B<closelog()> =item DIAGNOSTICS -Invalid argument passed to setlogsock, no connection to syslog available, -stream passed to setlogsock, but %s is not writable, stream passed to -setlogsock, but could not find any device, tcp passed to setlogsock, but -tcp service unavailable, syslog: expecting argument %s, syslog: invalid -level/facility: %s, syslog: too many levels given: %s, syslog: too many -facilities given: %s, syslog: level must be given, udp passed to -setlogsock, but udp service unavailable, unix passed to setlogsock, but -path not available +C<Invalid argument passed to setlogsock>, C<eventlog passed to setlogsock, +but operating system isn't Win32-compatible>, C<no connection to syslog +available>, C<stream passed to setlogsock, but %s is not writable>, +C<stream passed to setlogsock, but could not find any device>, C<tcp passed +to setlogsock, but tcp service unavailable>, C<syslog: expecting argument +%s>, C<syslog: invalid level/facility: %s>, C<syslog: too many levels +given: %s>, C<syslog: too many facilities given: %s>, C<syslog: level must +be given>, C<udp passed to setlogsock, but udp service unavailable>, C<unix +passed to setlogsock, but path not available> =item SEE ALSO -=item AUTHORS +=over 4 + +=item Manual Pages + +=item RFCs + +=item Articles + +=item Event Log + +=back + +=item AUTHORS & ACKNOWLEDGEMENTS =item BUGS @@ -30150,6 +30441,8 @@ B<setlogmask($mask_priority)>, B<setlogsock($sock_type)>, B<setlogsock($sock_type, $stream_location)> (added in Perl 5.004_02), B<Note>, B<closelog()> +=item THE RULES OF SYS::SYSLOG + =item EXAMPLES =item CONSTANTS @@ -30164,18 +30457,31 @@ B<Note>, B<closelog()> =item DIAGNOSTICS -Invalid argument passed to setlogsock, no connection to syslog available, -stream passed to setlogsock, but %s is not writable, stream passed to -setlogsock, but could not find any device, tcp passed to setlogsock, but -tcp service unavailable, syslog: expecting argument %s, syslog: invalid -level/facility: %s, syslog: too many levels given: %s, syslog: too many -facilities given: %s, syslog: level must be given, udp passed to -setlogsock, but udp service unavailable, unix passed to setlogsock, but -path not available +C<Invalid argument passed to setlogsock>, C<eventlog passed to setlogsock, +but operating system isn't Win32-compatible>, C<no connection to syslog +available>, C<stream passed to setlogsock, but %s is not writable>, +C<stream passed to setlogsock, but could not find any device>, C<tcp passed +to setlogsock, but tcp service unavailable>, C<syslog: expecting argument +%s>, C<syslog: invalid level/facility: %s>, C<syslog: too many levels +given: %s>, C<syslog: too many facilities given: %s>, C<syslog: level must +be given>, C<udp passed to setlogsock, but udp service unavailable>, C<unix +passed to setlogsock, but path not available> =item SEE ALSO -=item AUTHORS +=over 4 + +=item Manual Pages + +=item RFCs + +=item Articles + +=item Event Log + +=back + +=item AUTHORS & ACKNOWLEDGEMENTS =item BUGS @@ -30188,6 +30494,21 @@ tracker, Search CPAN, Kobes' CPAN Search, Perl Documentation =back +=head2 Syslog::win32::Win32, Sys::Syslog::Win32 - Win32 support for +Sys::Syslog + +=over 4 + +=item DESCRIPTION + +=item SEE ALSO + +=item AUTHORS + +=item LICENSE + +=back + =head2 Term::ANSIColor - Color screen output using ANSI escape sequences =over 4 @@ -30377,13 +30698,15 @@ record", allow => $ref] ); =item See Also +=item BUG REPORTS + =item AUTHOR =item COPYRIGHT =back -=head2 Term::UI::History, Log::Message::Simple +=head2 Term::UI::History =over 4 @@ -31357,8 +31680,7 @@ arrays =back -=head2 Text::Soundex - Implementation of the Soundex Algorithm as Described -by Knuth +=head2 Text::Soundex - Implementation of the soundex algorithm. =over 4 @@ -31554,8 +31876,7 @@ SHIFT this, UNSHIFT this, LIST, SPLICE this, offset, length, LIST =back -=head2 Tie::Handle, Tie::StdHandle - base class definitions for tied -handles +=head2 Tie::Handle - base class definitions for tied handles =over 4 |