-#!perl -w
+#!perl
use strict;
+use warnings;
require './test.pl';
-plan(tests => 2);
+plan(tests => 4);
{
no warnings 'deprecated';
}
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.
+#
+
+}
+