[win32] various tweaks to makefiles
[p5sagit/p5-mst-13.2.git] / pod / perltrap.pod
index 7ba57d0..02abc3b 100644 (file)
@@ -35,7 +35,7 @@ Curly brackets are required on C<if>s and C<while>s.
 
 =item *
 
-Variables begin with "$" or "@" in Perl.
+Variables begin with "$", "@" or "%" in Perl.
 
 =item *
 
@@ -168,7 +168,7 @@ There's no switch statement.  (But it's easy to build one on the fly.)
 
 =item *
 
-Variables begin with "$" or "@" in Perl.
+Variables begin with "$", "@" or "%" in Perl.
 
 =item *
 
@@ -438,6 +438,12 @@ whether this should be classed as a bug or not.
     # perl4 prints: x=10
     # perl5 prints: Can't find string terminator "'" anywhere before EOF
 
+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" ;
+
 Also see precedence traps, for parsing C<$:>.
 
 =item * BugFix
@@ -1445,9 +1451,7 @@ Everything else.
 
 =over 5
 
-=item * Unclassified
-
-C<require>/C<do> trap using returned value
+=item * C<require>/C<do> trap using returned value
 
 If the file doit.pl has:
 
@@ -1468,6 +1472,14 @@ Running doit.pl gives the following:
 
 Same behavior if you replace C<do> with C<require>.
 
+=item * C<split> on empty string with LIMIT specified
+
+       $string = '';
+    @list = split(/foo/, $string, 2)
+
+Perl4 returns a one element list containing the empty string but Perl5
+returns an empty list.
+
 =back
 
 As always, if any of these are ever officially declared as bugs,