This is a live mirror of the Perl 5 development currently hosted at https://github.com/perl/perl5
Test out-of-bounds warning with lv substr
authorFather Chrysostomos <sprout@cpan.org>
Fri, 9 Dec 2011 06:21:51 +0000 (22:21 -0800)
committerFather Chrysostomos <sprout@cpan.org>
Fri, 9 Dec 2011 06:21:51 +0000 (22:21 -0800)
t/op/substr.t

index f93b64c..ceacdf6 100644 (file)
@@ -23,7 +23,7 @@ $SIG{__WARN__} = sub {
 
 BEGIN { require './test.pl'; }
 
-plan(380);
+plan(381);
 
 run_tests() unless caller;
 
@@ -42,6 +42,8 @@ eval{substr($a,999,999) = "" ; };# P R Q S
 like ($@, $FATAL_MSG);
 is(substr($a,0,-6), 'abc');  # P=Q R S
 is(substr($a,-3,1), 'x');    # P Q R S
+sub{$b = shift}->(substr($a,999,999));
+is ($w--, 1, 'boundless lvalue substr only warns on fetch');
 
 substr($a,3,3) = 'XYZ';
 is($a, 'abcXYZxyz' );