1N/A#!./perl
1N/A
1N/ABEGIN {
1N/A chdir 't' if -d 't';
1N/A @INC = '../lib';
1N/A require Config; import Config;
1N/A}
1N/A
1N/Aprint "1..13\n";
1N/A
1N/A$_ = 'x' x 20;
1N/As/\d*|x/<$&>/g;
1N/A$foo = '<>' . ('<x><>' x 20) ;
1N/Aprint ($_ eq $foo ? "ok 1\n" : "not ok 1\n#'$_'\n#'$foo'\n");
1N/A
1N/A$t = 'aaa';
1N/A
1N/A$_ = $t;
1N/A@res = ();
1N/Apos = 1;
1N/As/\Ga(?{push @res, $_, $`})/xx/g;
1N/Aprint "not " unless "$_ @res" eq 'axxxx aaa a aaa aa';
1N/Aprint "ok 2\n";
1N/A
1N/A$_ = $t;
1N/A@res = ();
1N/Apos = 1;
1N/As/\Ga(?{push @res, $_, $`})/x/g;
1N/Aprint "not " unless "$_ @res" eq 'axx aaa a aaa aa';
1N/Aprint "ok 3\n";
1N/A
1N/A$_ = $t;
1N/A@res = ();
1N/Apos = 1;
1N/As/\Ga(?{push @res, $_, $`})/xx/;
1N/Aprint "not " unless "$_ @res" eq 'axxa aaa a';
1N/Aprint "ok 4\n";
1N/A
1N/A$_ = $t;
1N/A@res = ();
1N/Apos = 1;
1N/As/\Ga(?{push @res, $_, $`})/x/;
1N/Aprint "not " unless "$_ @res" eq 'axa aaa a';
1N/Aprint "ok 5\n";
1N/A
1N/A$a = $t;
1N/A@res = ();
1N/Apos ($a) = 1;
1N/A$a =~ s/\Ga(?{push @res, $_, $`})/xx/g;
1N/Aprint "#'$a' '@res'\nnot " unless "$a @res" eq 'axxxx aaa a aaa aa';
1N/Aprint "ok 6\n";
1N/A
1N/A$a = $t;
1N/A@res = ();
1N/Apos ($a) = 1;
1N/A$a =~ s/\Ga(?{push @res, $_, $`})/x/g;
1N/Aprint "#'$a' '@res'\nnot " unless "$a @res" eq 'axx aaa a aaa aa';
1N/Aprint "ok 7\n";
1N/A
1N/A$a = $t;
1N/A@res = ();
1N/Apos ($a) = 1;
1N/A$a =~ s/\Ga(?{push @res, $_, $`})/xx/;
1N/Aprint "#'$a' '@res'\nnot " unless "$a @res" eq 'axxa aaa a';
1N/Aprint "ok 8\n";
1N/A
1N/A$a = $t;
1N/A@res = ();
1N/Apos ($a) = 1;
1N/A$a =~ s/\Ga(?{push @res, $_, $`})/x/;
1N/Aprint "#'$a' '@res'\nnot " unless "$a @res" eq 'axa aaa a';
1N/Aprint "ok 9\n";
1N/A
1N/Asub x2 {'xx'}
1N/Asub x1 {'x'}
1N/A
1N/A$a = $t;
1N/A@res = ();
1N/Apos ($a) = 1;
1N/A$a =~ s/\Ga(?{push @res, $_, $`})/x2/ge;
1N/Aprint "#'$a' '@res'\nnot " unless "$a @res" eq 'axxxx aaa a aaa aa';
1N/Aprint "ok 10\n";
1N/A
1N/A$a = $t;
1N/A@res = ();
1N/Apos ($a) = 1;
1N/A$a =~ s/\Ga(?{push @res, $_, $`})/x1/ge;
1N/Aprint "#'$a' '@res'\nnot " unless "$a @res" eq 'axx aaa a aaa aa';
1N/Aprint "ok 11\n";
1N/A
1N/A$a = $t;
1N/A@res = ();
1N/Apos ($a) = 1;
1N/A$a =~ s/\Ga(?{push @res, $_, $`})/x2/e;
1N/Aprint "#'$a' '@res'\nnot " unless "$a @res" eq 'axxa aaa a';
1N/Aprint "ok 12\n";
1N/A
1N/A$a = $t;
1N/A@res = ();
1N/Apos ($a) = 1;
1N/A$a =~ s/\Ga(?{push @res, $_, $`})/x1/e;
1N/Aprint "#'$a' '@res'\nnot " unless "$a @res" eq 'axa aaa a';
1N/Aprint "ok 13\n";
1N/A