pp.c TODO 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") ; __END__ # 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_pack.c use warnings 'pack' ; sub foo { my $a = "a"; return $a . $a++ . $a++ } my $a = pack("p", &foo) ; @a = "foo"; sub bar { pop @{\@_}, pack "p", $a[0] } # This should *not* warn, even bar(@a); # though $a[0] is SvTEMP. no warnings 'pack' ; my $b = pack("p", &foo) ; EXPECT Attempt to pack pointer to temporary value at - line 4. ######## # 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 in pack at - line 3. Character in 'C' format wrapped in pack at - line 3. Character in 'c' format wrapped in pack at - line 3. Character in 'c' format wrapped in pack at - line 3. 255 0 255 0 127 -128 127 -128 255 0 255 0 127 -128 127 -128