This is a live mirror of the Perl 5 development currently hosted at https://github.com/perl/perl5
Update Parse-CPAN-Meta to CPAN version 1.4412
[perl5.git] / t / re / subst_amp.t
CommitLineData
6dd38c9e 1#!./perl -w
f5c9036e
IZ
2
3BEGIN {
4 chdir 't' if -d 't';
20822f61 5 @INC = '../lib';
6dd38c9e 6 require './test.pl';
f5c9036e
IZ
7}
8
6dd38c9e 9use strict;
f5c9036e
IZ
10
11$_ = 'x' x 20;
12s/\d*|x/<$&>/g;
6dd38c9e
NC
13my $foo = '<>' . ('<x><>' x 20) ;
14is($_, $foo);
f5c9036e 15
6dd38c9e 16my $t = 'aaa';
f5c9036e
IZ
17
18$_ = $t;
6dd38c9e 19my @res;
f5c9036e
IZ
20pos = 1;
21s/\Ga(?{push @res, $_, $`})/xx/g;
6dd38c9e 22is("$_ @res", 'axxxx aaa a aaa aa');
f5c9036e
IZ
23
24$_ = $t;
25@res = ();
26pos = 1;
27s/\Ga(?{push @res, $_, $`})/x/g;
6dd38c9e 28is("$_ @res", 'axx aaa a aaa aa');
f5c9036e
IZ
29
30$_ = $t;
31@res = ();
32pos = 1;
33s/\Ga(?{push @res, $_, $`})/xx/;
6dd38c9e 34is("$_ @res", 'axxa aaa a');
f5c9036e
IZ
35
36$_ = $t;
37@res = ();
38pos = 1;
39s/\Ga(?{push @res, $_, $`})/x/;
6dd38c9e 40is("$_ @res", 'axa aaa a');
f5c9036e
IZ
41
42$a = $t;
43@res = ();
44pos ($a) = 1;
45$a =~ s/\Ga(?{push @res, $_, $`})/xx/g;
6dd38c9e 46is("$a @res", 'axxxx aaa a aaa aa');
f5c9036e
IZ
47
48$a = $t;
49@res = ();
50pos ($a) = 1;
51$a =~ s/\Ga(?{push @res, $_, $`})/x/g;
6dd38c9e 52is("$a @res", 'axx aaa a aaa aa');
f5c9036e
IZ
53
54$a = $t;
55@res = ();
56pos ($a) = 1;
57$a =~ s/\Ga(?{push @res, $_, $`})/xx/;
6dd38c9e 58is("$a @res", 'axxa aaa a');
f5c9036e
IZ
59
60$a = $t;
61@res = ();
62pos ($a) = 1;
63$a =~ s/\Ga(?{push @res, $_, $`})/x/;
6dd38c9e 64is("$a @res", 'axa aaa a');
f5c9036e
IZ
65
66sub x2 {'xx'}
67sub x1 {'x'}
68
69$a = $t;
70@res = ();
71pos ($a) = 1;
72$a =~ s/\Ga(?{push @res, $_, $`})/x2/ge;
6dd38c9e 73is("$a @res", 'axxxx aaa a aaa aa');
f5c9036e
IZ
74
75$a = $t;
76@res = ();
77pos ($a) = 1;
78$a =~ s/\Ga(?{push @res, $_, $`})/x1/ge;
6dd38c9e 79is("$a @res", 'axx aaa a aaa aa');
f5c9036e
IZ
80
81$a = $t;
82@res = ();
83pos ($a) = 1;
84$a =~ s/\Ga(?{push @res, $_, $`})/x2/e;
6dd38c9e 85is("$a @res", 'axxa aaa a');
f5c9036e
IZ
86
87$a = $t;
88@res = ();
89pos ($a) = 1;
90$a =~ s/\Ga(?{push @res, $_, $`})/x1/e;
6dd38c9e 91is("$a @res", 'axa aaa a');
f5c9036e 92
6dd38c9e 93done_testing();