diff options
Diffstat (limited to 't/op/lex.t')
-rw-r--r-- | t/op/lex.t | 29 |
1 files changed, 27 insertions, 2 deletions
diff --git a/t/op/lex.t b/t/op/lex.t index 3f00248ae5..0789077b5c 100644 --- a/t/op/lex.t +++ b/t/op/lex.t @@ -1,9 +1,10 @@ -#!perl -w +#!perl use strict; +use warnings; require './test.pl'; -plan(tests => 2); +plan(tests => 4); { no warnings 'deprecated'; @@ -20,3 +21,27 @@ $yow } curr_test(3); + + +{ + my %foo = (aap => "monkey"); + my $foo = ''; + is("@{[$foo{'aap'}]}", 'monkey', 'interpolation of hash lookup with space between lexical variable and subscript'); + is("@{[$foo {'aap'}]}", 'monkey', 'interpolation of hash lookup with space between lexical variable and subscript - test for [perl #70091]'); + +# Original bug report [perl #70091] +# #!perl +# use warnings; +# my %foo; +# my $foo = ''; +# (my $tmp = $foo) =~ s/^/$foo {$0}/e; +# __END__ +# +# This program causes a segfault with 5.10.0 and 5.10.1. +# +# The space between '$foo' and '{' is essential, which is why piping +# it through perl -MO=Deparse "fixes" it. +# + +} + |