diff options
Diffstat (limited to 't/op/local.t')
-rw-r--r-- | t/op/local.t | 45 |
1 files changed, 45 insertions, 0 deletions
diff --git a/t/op/local.t b/t/op/local.t new file mode 100644 index 0000000000..1f7608934f --- /dev/null +++ b/t/op/local.t @@ -0,0 +1,45 @@ +#!./perl + +# $Header: local.t,v 4.0 91/03/20 01:53:29 lwall Locked $ + +print "1..20\n"; + +sub foo { + local($a, $b) = @_; + local($c, $d); + $c = "ok 3\n"; + $d = "ok 4\n"; + { local($a,$c) = ("ok 9\n", "ok 10\n"); ($x, $y) = ($a, $c); } + print $a, $b; + $c . $d; +} + +$a = "ok 5\n"; +$b = "ok 6\n"; +$c = "ok 7\n"; +$d = "ok 8\n"; + +print do foo("ok 1\n","ok 2\n"); + +print $a,$b,$c,$d,$x,$y; + +# same thing, only with arrays and associative arrays + +sub foo2 { + local($a, @b) = @_; + local(@c, %d); + @c = "ok 13\n"; + $d{''} = "ok 14\n"; + { local($a,@c) = ("ok 19\n", "ok 20\n"); ($x, $y) = ($a, @c); } + print $a, @b; + $c[0] . $d{''}; +} + +$a = "ok 15\n"; +@b = "ok 16\n"; +@c = "ok 17\n"; +$d{''} = "ok 18\n"; + +print do foo2("ok 11\n","ok 12\n"); + +print $a,@b,@c,%d,$x,$y; |