summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rwxr-xr-xt/comp/use.t14
-rw-r--r--toke.c3
2 files changed, 15 insertions, 2 deletions
diff --git a/t/comp/use.t b/t/comp/use.t
index fade9fec1a..c9b76d79a4 100755
--- a/t/comp/use.t
+++ b/t/comp/use.t
@@ -6,7 +6,7 @@ BEGIN {
$INC{"feature.pm"} = 1; # so we don't attempt to load feature.pm
}
-print "1..69\n";
+print "1..73\n";
# Can't require test.pl, as we're testing the use/require mechanism here.
@@ -62,6 +62,18 @@ sub isnt ($$;$) {
_ok ('isnt', @_);
}
+eval "use 5"; # implicit semicolon
+is ($@, '');
+
+eval "use 5;";
+is ($@, '');
+
+eval "{use 5}"; # [perl #70884]
+is ($@, '');
+
+eval "{use 5 }"; # [perl #70884]
+is ($@, '');
+
# new style version numbers
eval q{ use v5.5.630; };
diff --git a/toke.c b/toke.c
index 173ded4ddc..dfcb034b0f 100644
--- a/toke.c
+++ b/toke.c
@@ -3807,7 +3807,8 @@ S_tokenize_use(pTHX_ int is_use, char *s) {
s = SKIPSPACE1(s);
if (isDIGIT(*s) || (*s == 'v' && isDIGIT(s[1]))) {
s = force_version(s, TRUE);
- if (*s == ';' || (s = SKIPSPACE1(s), *s == ';')) {
+ if (*s == ';' || *s == '}'
+ || (s = SKIPSPACE1(s), (*s == ';' || *s == '}'))) {
start_force(PL_curforce);
NEXTVAL_NEXTTOKE.opval = NULL;
force_next(WORD);