Extensive documentation patch redux
[p5sagit/p5-mst-13.2.git] / t / cmd / for.t
index d70af57..3a4bc9b 100755 (executable)
@@ -1,6 +1,6 @@
 #!./perl
 
-print "1..10\n";
+print "1..13\n";
 
 for ($i = 0; $i <= 10; $i++) {
     $x[$i] = $i;
@@ -55,3 +55,24 @@ sub foo {
 print foo(1) == 1 ? "ok" : "not ok", " 8\n";
 print foo(2) == 2 ? "ok" : "not ok", " 9\n";
 print foo(5) == 5 ? "ok" : "not ok", " 10\n";
+
+sub bar {
+    return (1, 2, 4);
+}
+
+$a = 0;
+foreach $b (bar()) {
+    $a += $b;
+}
+print $a == 7 ? "ok" : "not ok", " 11\n";
+
+$loop_count = 0;
+for ("-3" .. "0") {
+    $loop_count++;
+}
+print $loop_count == 4 ? "ok" : "not ok", " 12\n";
+
+# modifying arrays in loops is a no-no
+@a = (3,4);
+eval { @a = () for (1,2,@a) };
+print $@ =~ /Use of freed value in iteration/ ? "ok" : "not ok", " 13\n";