}
require "./test.pl";
-plan( tests => 38 );
+plan( tests => 43 );
eval '%@x=0;';
like( $@, qr/^Can't modify hash dereference in repeat \(x\)/, '%@x=0' );
eval q{ "\c" };
like( $@, qr/^Missing control char name in \\c/, q("\c" string) );
+eval q{ qq(foo$) };
+like( $@, qr/Final \$ should be \\\$ or \$name/, q($ at end of "" string) );
+
# two tests for memory corruption problems in the said variables
# (used to dump core or produce strange results)
ok($@ eq '', "eval $eval");
is(ref $result, $expect ? 'HASH' : '', $eval);
}
+
+# Bug #24212
+{
+ local $SIG{__WARN__} = sub { }; # silence mandatory warning
+ eval q{ my $x = -F 1; };
+ like( $@, qr/(?:syntax|parse) error .* near "F 1"/, "unknown filetest operators" );
+ is(
+ eval q{ sub F { 42 } -F 1 },
+ '-42',
+ '-F calls the F function'
+ );
+}
+
+# Bug #24762
+{
+ eval q{ *foo{CODE} ? 1 : 0 };
+ is( $@, '', "glob subscript in conditional" );
+}
+
+# Bug #25824
+{
+ eval q{ sub f { @a=@b=@c; {use} } };
+ like( $@, qr/syntax error/, "use without body" );
+}