X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=blobdiff_plain;f=pod%2Fperltrap.pod;h=b5f09351669cd185fc3db4e19d47c380450ac4be;hb=cabc01fc4ad269039c414204199dbe27ea8309c1;hp=936d684f3dcccce722dd0678324e272b85df6637;hpb=d52dc02aaec9ecc47b0ab108be2200be5979d8a5;p=p5sagit%2Fp5-mst-13.2.git diff --git a/pod/perltrap.pod b/pod/perltrap.pod index 936d684..b5f0935 100644 --- a/pod/perltrap.pod +++ b/pod/perltrap.pod @@ -170,8 +170,8 @@ C construct. See L. =item * -There's no switch statement. (But it's easy to build one on the fly, -see L) +The switch statement is called C and only available in +perl 5.10 or newer. See L. =item * @@ -448,8 +448,8 @@ Given that C<::> is now the preferred package delimiter, it is debatable whether this should be classed as a bug or not. (The older package delimiter, ' ,is used here) - $x = 10 ; - print "x=${'x}\n" ; + $x = 10; + print "x=${'x}\n"; # perl4 prints: x=10 # perl5 prints: Can't find string terminator "'" anywhere before EOF @@ -457,8 +457,8 @@ whether this should be classed as a bug or not. You can avoid this problem, and remain compatible with perl4, if you always explicitly include the package name: - $x = 10 ; - print "x=${main'x}\n" ; + $x = 10; + print "x=${main'x}\n"; Also see precedence traps, for parsing C<$:>. @@ -497,7 +497,7 @@ of a variable, or as a delimiter for any kind of quote construct. Double darn. $a = ("foo bar"); - $b = q baz ; + $b = q baz; print "a is $a, b is $b\n"; # perl4 prints: a is foo bar, b is baz @@ -671,7 +671,7 @@ are to used around the name. # perl4 prints: {a} # perl5 prints: 2 -=item * Perl guesses on C, C followed by C<{> whether C<{> starts BLOCK or hash ref +=item * Perl guesses on C, C followed by C<{> if it starts BLOCK or hash ref When perl sees C (or C), it has to guess whether the C<{> starts a BLOCK or a hash reference. If it guesses wrong, it will report @@ -720,7 +720,7 @@ If in doubt: use Math::BigInt; -=item * Assignment of return values from numeric equality tests doesn't works +=item * Assignment of return values from numeric equality tests doesn't work Assignment of return values from numeric equality tests does not work in perl5 when the test evaluates to false (0). @@ -1219,7 +1219,7 @@ C<[$opt]> is a character class in perl4 and an array subscript in perl5 $opt = 'r'; $_ = 'bar'; s/^([^$grpc]*$grpc[$opt]?)/foo/; - print ; + print; # perl4 prints: foo # perl5 prints: foobar @@ -1258,7 +1258,7 @@ general subroutine traps. Includes some OS-Specific traps. =over 5 -=item * Barewords that used to look like strings look like subroutine calls if a subroutine by that name is defined +=item * Barewords that used to look like strings look like subroutine calls Barewords that used to look like strings to Perl will now look like subroutine calls if a subroutine by that name is defined before the compiler sees them. @@ -1334,11 +1334,11 @@ for append, it is impossible to overwrite information already in the file. open(TEST,">>seek.test"); - $start = tell TEST ; + $start = tell TEST; foreach(1 .. 9){ print TEST "$_ "; } - $end = tell TEST ; + $end = tell TEST; seek(TEST,$start,0); print TEST "18 characters here"; @@ -1378,7 +1378,7 @@ Double-quoted strings may no longer end with an unescaped $. Note: perl5 DOES NOT error on the terminating @ in $bar -=item * Arbitrary expressions are evaluated inside braces that occur within double quotes +=item * Arbitrary expressions are evaluated inside braces within double quotes Perl now sometimes evaluates arbitrary expressions inside braces that occur within double quotes (usually when the opening brace is preceded by C<$> @@ -1407,7 +1407,7 @@ now tries to dereference $x. C<$$> by itself still works fine, however. # perl4 prints: this is XXXx (XXX is the current pid) # perl5 prints: this is a reference -=item * Creation of hashes on the fly with C requires protection of C<$>'s or both curlies +=item * Creation of hashes on the fly with C requires protection Creation of hashes on the fly with C now requires either both C<$>'s to be protected in the specification of the hash name, or both curlies @@ -1514,7 +1514,7 @@ General DBM traps. =over 5 -=item * Perl5 must have been linked with the same dbm/ndbm as the default for C to function properly without C'ing +=item * Perl5 must have been linked with same dbm/ndbm as the default for C Existing dbm databases created under perl4 (or any other dbm/ndbm tool) may cause the same script, run under perl5, to fail. The build of perl5 @@ -1528,7 +1528,7 @@ to function properly without C'ing to an extension dbm implementation. # perl5 prints: ok (IFF linked with -ldbm or -lndbm) -=item * DBM exceeding the limit on the key/value size will cause perl5 to exit immediately +=item * DBM exceeding limit on the key/value size will cause perl5 to exit immediately Existing dbm databases created under perl4 (or any other dbm/ndbm tool) may cause the same script, run under perl5, to fail. The error generated