This is a live mirror of the Perl 5 development currently hosted at https://github.com/perl/perl5
perlapi: Fix grammar
[perl5.git] / t / lib / warnings / pp_pack
1   pp.c  TODO
2
3   Invalid type in unpack: '%c
4         my $A = pack ("A,A", 1,2) ;
5         my @A = unpack ("A,A", "22") ;
6
7   Attempt to pack pointer to temporary value
8         pack("p", "abc") ;
9
10 __END__
11 # pp_pack.c
12 use warnings 'pack' ;
13 use warnings 'unpack' ;
14 my @a = unpack ("A,A", "22") ;
15 my $a = pack ("A,A", 1,2) ;
16 no warnings 'pack' ;
17 no warnings 'unpack' ;
18 my @b = unpack ("A,A", "22") ;
19 my $b = pack ("A,A", 1,2) ;
20 EXPECT
21 Invalid type ',' in unpack at - line 4.
22 Invalid type ',' in pack at - line 5.
23 ########
24 # pp_pack.c
25 use warnings 'pack' ;
26 sub foo { my $a = "a"; return $a . $a++ . $a++ }
27 my $a = pack("p", &foo) ;
28 @a = "foo";
29 sub bar { pop @{\@_}, pack "p", $a[0] } # This should *not* warn, even
30 bar(@a);                                # though $a[0] is SvTEMP.
31 no warnings 'pack' ;
32 my $b = pack("p", &foo) ;
33 EXPECT
34 Attempt to pack pointer to temporary value at - line 4.
35 ########
36 # pp_pack.c
37 use warnings 'pack' ;
38 print unpack("C", pack("C",   -1)), "\n",
39         unpack("C", pack("C",    0)), "\n",
40         unpack("C", pack("C",  255)), "\n",
41         unpack("C", pack("C",  256)), "\n",
42         unpack("c", pack("c", -129)), "\n",
43         unpack("c", pack("c", -128)), "\n",
44         unpack("c", pack("c",  127)), "\n",
45         unpack("c", pack("c",  128)), "\n";
46 no warnings 'pack' ;
47 print unpack("C", pack("C",   -1)), "\n";
48 print unpack("C", pack("C",    0)), "\n";
49 print unpack("C", pack("C",  255)), "\n";
50 print unpack("C", pack("C",  256)), "\n";
51 print unpack("c", pack("c", -129)), "\n";
52 print unpack("c", pack("c", -128)), "\n";
53 print unpack("c", pack("c",  127)), "\n";
54 print unpack("c", pack("c",  128)), "\n";
55 EXPECT
56 Character in 'C' format wrapped in pack at - line 3.
57 Character in 'C' format wrapped in pack at - line 3.
58 Character in 'c' format wrapped in pack at - line 3.
59 Character in 'c' format wrapped in pack at - line 3.
60 255
61 0
62 255
63 0
64 127
65 -128
66 127
67 -128
68 255
69 0
70 255
71 0
72 127
73 -128
74 127
75 -128