This is a live mirror of the Perl 5 development currently hosted at https://github.com/perl/perl5
Test case for C<undef %File::Glob::>
[perl5.git] / t / op / subst_amp.t
1 #!./perl
2
3 BEGIN {
4     chdir 't' if -d 't';
5     @INC = '../lib';
6     require Config; import Config;
7 }
8
9 print "1..13\n";
10
11 $_ = 'x' x 20; 
12 s/\d*|x/<$&>/g; 
13 $foo = '<>' . ('<x><>' x 20) ;
14 print ($_ eq $foo ? "ok 1\n" : "not ok 1\n#'$_'\n#'$foo'\n");
15
16 $t = 'aaa';
17
18 $_ = $t;
19 @res = ();
20 pos = 1;
21 s/\Ga(?{push @res, $_, $`})/xx/g;
22 print "not " unless "$_ @res" eq 'axxxx aaa a aaa aa';
23 print "ok 2\n";
24
25 $_ = $t;
26 @res = ();
27 pos = 1;
28 s/\Ga(?{push @res, $_, $`})/x/g;
29 print "not " unless "$_ @res" eq 'axx aaa a aaa aa';
30 print "ok 3\n";
31
32 $_ = $t;
33 @res = ();
34 pos = 1;
35 s/\Ga(?{push @res, $_, $`})/xx/;
36 print "not " unless "$_ @res" eq 'axxa aaa a';
37 print "ok 4\n";
38
39 $_ = $t;
40 @res = ();
41 pos = 1;
42 s/\Ga(?{push @res, $_, $`})/x/;
43 print "not " unless "$_ @res" eq 'axa aaa a';
44 print "ok 5\n";
45
46 $a = $t;
47 @res = ();
48 pos ($a) = 1;
49 $a =~ s/\Ga(?{push @res, $_, $`})/xx/g;
50 print "#'$a' '@res'\nnot " unless "$a @res" eq 'axxxx aaa a aaa aa';
51 print "ok 6\n";
52
53 $a = $t;
54 @res = ();
55 pos ($a) = 1;
56 $a =~ s/\Ga(?{push @res, $_, $`})/x/g;
57 print "#'$a' '@res'\nnot " unless "$a @res" eq 'axx aaa a aaa aa';
58 print "ok 7\n";
59
60 $a = $t;
61 @res = ();
62 pos ($a) = 1;
63 $a =~ s/\Ga(?{push @res, $_, $`})/xx/;
64 print "#'$a' '@res'\nnot " unless "$a @res" eq 'axxa aaa a';
65 print "ok 8\n";
66
67 $a = $t;
68 @res = ();
69 pos ($a) = 1;
70 $a =~ s/\Ga(?{push @res, $_, $`})/x/;
71 print "#'$a' '@res'\nnot " unless "$a @res" eq 'axa aaa a';
72 print "ok 9\n";
73
74 sub x2 {'xx'}
75 sub x1 {'x'}
76
77 $a = $t;
78 @res = ();
79 pos ($a) = 1;
80 $a =~ s/\Ga(?{push @res, $_, $`})/x2/ge;
81 print "#'$a' '@res'\nnot " unless "$a @res" eq 'axxxx aaa a aaa aa';
82 print "ok 10\n";
83
84 $a = $t;
85 @res = ();
86 pos ($a) = 1;
87 $a =~ s/\Ga(?{push @res, $_, $`})/x1/ge;
88 print "#'$a' '@res'\nnot " unless "$a @res" eq 'axx aaa a aaa aa';
89 print "ok 11\n";
90
91 $a = $t;
92 @res = ();
93 pos ($a) = 1;
94 $a =~ s/\Ga(?{push @res, $_, $`})/x2/e;
95 print "#'$a' '@res'\nnot " unless "$a @res" eq 'axxa aaa a';
96 print "ok 12\n";
97
98 $a = $t;
99 @res = ();
100 pos ($a) = 1;
101 $a =~ s/\Ga(?{push @res, $_, $`})/x1/e;
102 print "#'$a' '@res'\nnot " unless "$a @res" eq 'axa aaa a';
103 print "ok 13\n";
104