This is a live mirror of the Perl 5 development currently hosted at https://github.com/perl/perl5
Add perlfreebsd.
[perl5.git] / pod / perl5004delta.pod
index 43bfb51..572c2b5 100644 (file)
@@ -1,6 +1,6 @@
 =head1 NAME
 
-perldelta - what's new for perl5.004
+perl5004delta - what's new for perl5.004
 
 =head1 DESCRIPTION
 
@@ -24,7 +24,10 @@ problems.  See the F<Changes> file in the distribution for details.
 C<%ENV = ()> and C<%ENV = @list> now work as expected (except on VMS
 where it generates a fatal error).
 
-=head2 "Can't locate Foo.pm in @INC" error now lists @INC
+=head2 Change to "Can't locate Foo.pm in @INC" error
+
+The error "Can't locate Foo.pm in @INC" now lists the contents of @INC
+for easier debugging.
 
 =head2 Compilation option: Binary compatibility with 5.003
 
@@ -79,7 +82,7 @@ your scripts.
 Before Perl 5.004, C<AUTOLOAD> functions were looked up as methods
 (using the C<@ISA> hierarchy), even when the function to be autoloaded
 was called as a plain function (e.g. C<Foo::bar()>), not a method
-(e.g. C<Foo-E<gt>bar()> or C<$obj-E<gt>bar()>).
+(e.g. C<< Foo->bar() >> or C<< $obj->bar() >>).
 
 Perl 5.005 will use method lookup only for methods' C<AUTOLOAD>s.
 However, there is a significant base of existing code that may be using
@@ -198,7 +201,7 @@ hole was just plugged.
 
 The new restrictions when tainting include:
 
-=over
+=over 4
 
 =item No glob() or <*>
 
@@ -258,7 +261,7 @@ the F<INSTALL> file for how to use it.
 
 =head2 New and changed syntax
 
-=over
+=over 4
 
 =item $coderef->(PARAMS)
 
@@ -266,17 +269,17 @@ A subroutine reference may now be suffixed with an arrow and a
 (possibly empty) parameter list.  This syntax denotes a call of the
 referenced subroutine, with the given parameters (if any).
 
-This new syntax follows the pattern of S<C<$hashref-E<gt>{FOO}>> and
-S<C<$aryref-E<gt>[$foo]>>: You may now write S<C<&$subref($foo)>> as
-S<C<$subref-E<gt>($foo)>>.  All these arrow terms may be chained;
-thus, S<C<&{$table-E<gt>{FOO}}($bar)>> may now be written
-S<C<$table-E<gt>{FOO}-E<gt>($bar)>>.
+This new syntax follows the pattern of S<C<< $hashref->{FOO} >>> and
+S<C<< $aryref->[$foo] >>>: You may now write S<C<&$subref($foo)>> as
+S<C<< $subref->($foo) >>>.  All these arrow terms may be chained;
+thus, S<C<< &{$table->{FOO}}($bar) >>> may now be written
+S<C<< $table->{FOO}->($bar) >>>.
 
 =back
 
 =head2 New and changed builtin constants
 
-=over
+=over 4
 
 =item __PACKAGE__
 
@@ -289,7 +292,7 @@ into strings.
 
 =head2 New and changed builtin variables
 
-=over
+=over 4
 
 =item $^E
 
@@ -322,7 +325,7 @@ there is no C<use English> long name for this variable.
 
 =head2 New and changed builtin functions
 
-=over
+=over 4
 
 =item delete on slices
 
@@ -544,7 +547,7 @@ subroutine:
 The C<UNIVERSAL> package automatically contains the following methods that
 are inherited by all other classes:
 
-=over
+=over 4
 
 =item isa(CLASS)
 
@@ -593,7 +596,7 @@ have C<isa> available as a plain subroutine in the current package.
 
 See L<perltie> for other kinds of tie()s.
 
-=over
+=over 4
 
 =item TIEHANDLE classname, LIST
 
@@ -687,7 +690,7 @@ install the optional module Devel::Peek.)
 Three new compilation flags are recognized by malloc.c.  (They have no
 effect if perl is compiled with system malloc().)
 
-=over
+=over 4
 
 =item -DPERL_EMERGENCY_SBRK
 
@@ -779,7 +782,7 @@ See F<README.amigaos> in the perl distribution.
 
 Six new pragmatic modules exist:
 
-=over
+=over 4
 
 =item use autouse MODULE => qw(sub1 sub2 sub3)
 
@@ -810,7 +813,7 @@ builtin operations.
 
 When C<use locale> is in effect, the current LC_CTYPE locale is used
 for regular expressions and case mapping; LC_COLLATE for string
-ordering; and LC_NUMERIC for numeric formating in printf and sprintf
+ordering; and LC_NUMERIC for numeric formatting in printf and sprintf
 (but B<not> in print).  LC_NUMERIC is always used in write, since
 lexical scoping of formats is problematic at best.
 
@@ -979,7 +982,7 @@ those who need trigonometric functions only for real numbers.
 There have been quite a few changes made to DB_File. Here are a few of
 the highlights:
 
-=over
+=over 4
 
 =item *
 
@@ -1045,7 +1048,7 @@ For example, you can now say
 
 =head2 pod2html
 
-=over
+=over 4
 
 =item Sends converted HTML to standard output
 
@@ -1058,7 +1061,7 @@ Use the B<--outfile=FILENAME> option to write to a file.
 
 =head2 xsubpp
 
-=over
+=over 4
 
 =item C<void> XSUBs now default to returning nothing
 
@@ -1083,7 +1086,7 @@ XSUB's return type is really C<SV *>.
 
 =head1 C Language API Changes
 
-=over
+=over 4
 
 =item C<gv_fetchmethod> and C<perl_call_sv>
 
@@ -1124,7 +1127,7 @@ which can be more efficient.  See L<perlguts> for details.
 Many of the base and library pods were updated.  These
 new pods are included in section 1:
 
-=over
+=over 4
 
 =item L<perldelta>
 
@@ -1177,7 +1180,7 @@ increasing order of desperation):
    (X) A very fatal error (nontrappable).
    (A) An alien error message (not generated by Perl).
 
-=over
+=over 4
 
 =item "my" variable %s masks earlier declaration in same scope
 
@@ -1290,7 +1293,7 @@ likely to eliminate these arbitrary limitations.
 
 (F) A carriage return character was found in the input.  This is an
 error, and not a warning, because carriage return characters can break
-multi-line strings, including here documents (e.g., C<print E<lt>E<lt>EOF;>).
+multi-line strings, including here documents (e.g., C<print <<EOF;>).
 
 =item Illegal switch in PERL5OPT: %s
 
@@ -1312,7 +1315,7 @@ architecture. On a 32-bit architecture the largest octal literal is
 =item internal error: glob failed
 
 (P) Something went wrong with the external program(s) used for C<glob>
-and C<E<lt>*.cE<gt>>.  This may mean that your csh (C shell) is
+and C<< <*.c> >>.  This may mean that your csh (C shell) is
 broken.  If so, you should change all of the csh-related variables in
 config.sh:  If you have tcsh, make the variables refer to it as if it
 were csh (e.g. C<full_csh='/usr/bin/tcsh'>); otherwise, make them all
@@ -1429,7 +1432,7 @@ assigning to it and when evaluating its argument, while C<@foo{&bar}> behaves
 like a list when you assign to it, and provides a list context to its
 subscript, which can do weird things if you're expecting only one subscript.
 
-=item Stub found while resolving method `%s' overloading `%s' in package `%s'
+=item Stub found while resolving method `%s' overloading `%s' in %s
 
 (P) Overloading resolution over @ISA tree may be broken by importing stubs.
 Stubs should never be implicitly created, but explicit calls to C<can>
@@ -1579,7 +1582,7 @@ in F<README.os2>.
 
 If you find what you think is a bug, you might check the headers of
 recently posted articles in the comp.lang.perl.misc newsgroup.
-There may also be information at http://www.perl.com/perl/, the Perl
+There may also be information at http://www.perl.com/perl/ , the Perl
 Home Page.
 
 If you believe you have an unreported bug, please run the B<perlbug>