use strict;
use warnings;
-use Test::More tests => 45 * 4;
+use Test::More tests => 53 * 4;
+
+use feature 'state';
my ($obj, $pkg, $cb, $x, @a);
+our $y;
+state $z;
sub meh;
{
local $/ = "####\n";
while (<DATA>) {
chomp;
+ s/\s*$//;
+
local $SIG{__WARN__} = sub { die 'warn:' . join(' ', @_) };
- {
- use indirect;
- eval "die qq{ok\\n}; $_";
- }
+
+ eval "die qq{ok\\n}; use indirect; $_";
is($@, "ok\n", "use indirect: $_");
- {
- no indirect;
- eval "die qq{ok\n}; $_";
- }
+
+ eval "die qq{ok\n}; no indirect; $_";
is($@, "ok\n", "no indirect: $_");
+
s/Hlagh/Dongs/g;
- {
- use indirect;
- eval "die qq{ok\\n}; $_";
- }
+
+ eval "die qq{ok\\n}; use indirect; $_";
is($@, "ok\n", "use indirect, defined: $_");
- {
- no indirect;
- eval "die qq{ok\\n}; $_";
- }
+
+ eval "die qq{ok\\n}; no indirect; $_";
is($@, "ok\n", "no indirect, defined: $_");
}
}
####
meh $x, 1, 2;
####
+meh $y;
+####
+meh $y, 1, 2;
+####
+meh $z;
+####
+meh $z, 1, 2;
+####
print;
####
print $_;
####
print $x;
####
-print STDOUT "bananananananana\n";
-####
print $x "oh hai\n";
####
+print $y;
+####
+print $y "dongs\n";
+####
+print $z;
+####
+print $z "hlagh\n";
+####
+print STDOUT "bananananananana\n";
+####
$x->foo($pkg->$cb)
####
$obj = "apple ${\(new Hlagh)} pear"