Attempt to use reference as lvalue in substr
$a = "ab" ; $b = \$a ; substr($b, 1,1) = $b
- uninitialized in pp_rv2gv()
- my *b = *{ undef()}
+ Use of uninitialized value in ref-to-glob cast [pp_rv2gv()]
+ *b = *{ undef()}
- uninitialized in pp_rv2sv()
+ Use of uninitialized value in scalar dereference [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 <<<TODO
- Constant subroutine (anonymous) undefined <<<TODO
+ Constant subroutine %s undefined
+ sub foo () { 1 }; undef &foo;
+
+ Constant subroutine (anonymous) undefined
+ $foo = sub () { 3 }; undef &$foo;
__END__
# pp.c
########
# pp.c
use warnings 'uninitialized' ;
-# TODO
+*x = *{ undef() };
+no warnings 'uninitialized' ;
+*y = *{ undef() };
EXPECT
-
+Use of uninitialized value in ref-to-glob cast at - line 3.
+########
+# pp.c
+use warnings 'uninitialized';
+$x = undef; $y = $$x;
+no warnings 'uninitialized' ;
+$u = undef; $v = $$u;
+EXPECT
+Use of uninitialized value $x in scalar dereference at - line 3.
########
# pp.c
use warnings 'misc' ;
no warnings 'misc' ;
my $b = { 1,2,3};
EXPECT
-Odd number of elements in hash assignment at - line 3.
-########
-# pp_pack.c
-use warnings 'pack' ;
-use warnings 'unpack' ;
-my @a = unpack ("A,A", "22") ;
-my $a = pack ("A,A", 1,2) ;
-no warnings 'pack' ;
-no warnings 'unpack' ;
-my @b = unpack ("A,A", "22") ;
-my $b = pack ("A,A", 1,2) ;
-EXPECT
-Invalid type in unpack: ',' at - line 4.
-Invalid type in pack: ',' at - line 5.
-########
-# pp.c
-use warnings 'uninitialized' ;
-my $a = undef ;
-my $b = $$a;
-no warnings 'uninitialized' ;
-my $c = $$a;
-EXPECT
-Use of uninitialized value in scalar dereference at - line 4.
-########
-# pp_pack.c
-use warnings 'pack' ;
-sub foo { my $a = "a"; return $a . $a++ . $a++ }
-my $a = pack("p", &foo) ;
-no warnings 'pack' ;
-my $b = pack("p", &foo) ;
-EXPECT
-Attempt to pack pointer to temporary value at - line 4.
+Odd number of elements in anonymous hash at - line 3.
########
# pp.c
use warnings 'misc' ;
Explicit blessing to '' (assuming package main) at - line 3.
########
# pp.c
+use warnings 'misc';
+sub foo () { 1 }
+undef &foo;
+no warnings 'misc';
+sub bar () { 2 }
+undef &bar;
+EXPECT
+Constant subroutine foo undefined at - line 4.
+########
+# pp.c
+use warnings 'misc';
+$foo = sub () { 3 };
+undef &$foo;
+no warnings 'misc';
+$bar = sub () { 4 };
+undef &$bar;
+EXPECT
+Constant subroutine (anonymous) undefined at - line 4.
+########
+# pp.c
use utf8 ;
$_ = "\x80 \xff" ;
reverse ;
EXPECT
-########
-# pp_pack.c
-use warnings 'pack' ;
-print unpack("C", pack("C", -1)), "\n",
- unpack("C", pack("C", 0)), "\n",
- unpack("C", pack("C", 255)), "\n",
- unpack("C", pack("C", 256)), "\n",
- unpack("c", pack("c", -129)), "\n",
- unpack("c", pack("c", -128)), "\n",
- unpack("c", pack("c", 127)), "\n",
- unpack("c", pack("c", 128)), "\n";
-no warnings 'pack' ;
-print unpack("C", pack("C", -1)), "\n";
-print unpack("C", pack("C", 0)), "\n";
-print unpack("C", pack("C", 255)), "\n";
-print unpack("C", pack("C", 256)), "\n";
-print unpack("c", pack("c", -129)), "\n";
-print unpack("c", pack("c", -128)), "\n";
-print unpack("c", pack("c", 127)), "\n";
-print unpack("c", pack("c", 128)), "\n";
-EXPECT
-Character in "C" format wrapped at - line 3.
-Character in "C" format wrapped at - line 3.
-Character in "c" format wrapped at - line 3.
-Character in "c" format wrapped at - line 3.
-255
-0
-255
-0
-127
--128
-127
--128
-255
-0
-255
-0
-127
--128
-127
--128