pp.c TODO substr outside of string $a = "ab" ; $a = substr($a, 4,5) Attempt to use reference as lvalue in substr $a = "ab" ; $b = \$a ; substr($b, 1,1) = $b uninitialized in pp_rv2gv() my *b = *{ undef()} uninitialized in pp_rv2sv() my $a = undef ; my $b = $$a Odd number of elements in hash list my $a = { 1,2,3 } ; Invalid type in unpack: '%c my $A = pack ("A,A", 1,2) ; my @A = unpack ("A,A", "22") ; Attempt to pack pointer to temporary value pack("p", "abc") ; Explicit blessing to '' (assuming package main) bless \[], ""; Constant subroutine %s undefined <<< Constant subroutine (anonymous) undefined <<< __END__ # pp.c use warning 'substr' ; $a = "ab" ; $a = substr($a, 4,5) EXPECT substr outside of string at - line 4. ######## # pp.c use warning 'substr' ; $a = "ab" ; $b = \$a ; substr($b, 1,1) = "ab" ; EXPECT Attempt to use reference as lvalue in substr at - line 5. ######## # pp.c use warning 'uninitialized' ; # TODO EXPECT ######## # pp.c use warning 'unsafe' ; my $a = { 1,2,3}; EXPECT Odd number of elements in hash assignment at - line 3. ######## # pp.c use warning 'unsafe' ; my @a = unpack ("A,A", "22") ; my $a = pack ("A,A", 1,2) ; EXPECT Invalid type in unpack: ',' at - line 3. Invalid type in pack: ',' at - line 4. ######## # pp.c use warning 'uninitialized' ; my $a = undef ; my $b = $$a EXPECT Use of uninitialized value at - line 4. ######## # pp.c use warning 'unsafe' ; sub foo { my $a = "a"; return $a . $a++ . $a++ } my $a = pack("p", &foo) ; EXPECT Attempt to pack pointer to temporary value at - line 4. ######## # pp.c use warning 'unsafe' ; bless \[], "" ; EXPECT Explicit blessing to '' (assuming package main) at - line 3.