X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=blobdiff_plain;f=pod%2Fperltrap.pod;h=c59ecc4dafabcf8beec1411a787c1ce9f7026717;hb=6940069f6d5beebb5f66572e358b4e7d0c3d1c43;hp=4920f538c38674ba613e6df9e5db48278d351064;hpb=651ad3b17ab67895472664d06caa48dedb1f20bf;p=p5sagit%2Fp5-mst-13.2.git diff --git a/pod/perltrap.pod b/pod/perltrap.pod index 4920f53..c59ecc4 100644 --- a/pod/perltrap.pod +++ b/pod/perltrap.pod @@ -69,7 +69,7 @@ executed.) See L. =item * -$EIE does not refer to fields--it refers to substrings matched +$> does not refer to fields--it refers to substrings matched by the last match pattern. =item * @@ -103,7 +103,7 @@ basically incompatible with C.) The concatenation operator is ".", not the null string. (Using the null string would render C unparsable, because the third slash would be interpreted as a division operator--the tokenizer is in fact -slightly context sensitive for operators like "/", "?", and "E". +slightly context sensitive for operators like "/", "?", and ">". And in fact, "." itself can be the beginning of a number.) =item * @@ -172,12 +172,6 @@ Variables begin with "$", "@" or "%" in Perl. =item * -C does not implement the "*" format for interpolating -field widths, but it's trivial to use interpolation of double-quoted -strings to achieve the same effect. - -=item * - Comments begin with "#", not "/*". =item * @@ -295,7 +289,7 @@ you might expect to do not. =item * -The EFHE construct is not the name of the filehandle, it is a readline +The construct is not the name of the filehandle, it is a readline operation on that handle. The data read is assigned to $_ only if the file read is the sole condition in a while loop: @@ -392,8 +386,9 @@ Everything else. =back If you find an example of a conversion trap that is not listed here, -please submit it to Bill Middleton > for inclusion. -Also note that at least some of these can be caught with B<-w>. +please submit it to > for inclusion. +Also note that at least some of these can be caught with the +C pragma or the B<-w> switch. =head2 Discontinuance, Deprecation, and BugFix traps @@ -424,7 +419,7 @@ behave differently in perl4 vs. perl5, because the packages don't exist. $a=1;$b=2;$c=3;$var=4; print "$a::$b::$c "; print "$var::abc::xyz\n"; - + # perl4 prints: 1::2::3 4::abc::xyz # perl5 prints: 3 @@ -585,30 +580,18 @@ number of elements in the resulting list. # perl4 prints: second new # perl5 prints: 3 -=item * Discontinuance - -In Perl 4 (and versions of Perl 5 before 5.004), C<'\r'> characters in -Perl code were silently allowed, although they could cause (mysterious!) -failures in certain constructs, particularly here documents. Now, -C<'\r'> characters cause an immediate fatal error. (Note: In this -example, the notation B<\015> represents the incorrect line -ending. Depending upon your text viewer, it will look different.) - - print "foo";\015 - print "bar"; - - # perl4 prints: foobar - # perl5.003 prints: foobar - # perl5.004 dies: Illegal character \015 (carriage return) - -See L for full details. - =item * Deprecation Some error messages will be different. =item * Discontinuance +In Perl 4, if in list context the delimiters to the first argument of +C were C, the result would be placed in C<@_> as well as +being returned. Perl 5 has more respect for your subroutine arguments. + +=item * Discontinuance + Some bugs may have been inadvertently removed. :-) =back @@ -1284,7 +1267,7 @@ Since version 5.002, Perl uses sigaction() under SysV. =item * (SysV) -Under SysV OSes, C on a file opened to append CE> now does +Under SysV OSes, C on a file opened to append C<<< >> >>> now does the right thing w.r.t. the fopen() manpage. e.g., - When a file is opened for append, it is impossible to overwrite information already in the file. @@ -1319,7 +1302,8 @@ within certain expressions, statements, contexts, or whatever. print "To: someone@somewhere.com\n"; # perl4 prints: To:someone@somewhere.com - # perl5 errors : In string, @somewhere now must be written as \@somewhere + # perl < 5.6.1, error : In string, @somewhere now must be written as \@somewhere + # perl >= 5.6.1, warning : Possible unintended interpolation of @somewhere in string =item * Interpolation