#!./perl -w
BEGIN {
chdir
't'
if
-d
't'
;
require
'./test.pl'
;
set_up_inc(
'../lib'
);
}
$_
=
'x'
x 20;
s/\d*|x/<$&>/g;
my
$foo
=
'<>'
. (
'<x><>'
x 20) ;
is(
$_
,
$foo
);
my
$t
=
'aaa'
;
$_
=
$t
;
my
@res
;
pos
= 1;
s/\Ga(?{
push
@res
,
$_
, $`})/xx/g;
is(
"$_ @res"
,
'axxxx aaa a aaa aa'
);
$_
=
$t
;
@res
= ();
pos
= 1;
s/\Ga(?{
push
@res
,
$_
, $`})/x/g;
is(
"$_ @res"
,
'axx aaa a aaa aa'
);
$_
=
$t
;
@res
= ();
pos
= 1;
s/\Ga(?{
push
@res
,
$_
, $`})/xx/;
is(
"$_ @res"
,
'axxa aaa a'
);
$_
=
$t
;
@res
= ();
pos
= 1;
s/\Ga(?{
push
@res
,
$_
, $`})/x/;
is(
"$_ @res"
,
'axa aaa a'
);
$a
=
$t
;
@res
= ();
pos
(
$a
) = 1;
$a
=~ s/\Ga(?{
push
@res
,
$_
, $`})/xx/g;
is(
"$a @res"
,
'axxxx aaa a aaa aa'
);
$a
=
$t
;
@res
= ();
pos
(
$a
) = 1;
$a
=~ s/\Ga(?{
push
@res
,
$_
, $`})/x/g;
is(
"$a @res"
,
'axx aaa a aaa aa'
);
$a
=
$t
;
@res
= ();
pos
(
$a
) = 1;
$a
=~ s/\Ga(?{
push
@res
,
$_
, $`})/xx/;
is(
"$a @res"
,
'axxa aaa a'
);
$a
=
$t
;
@res
= ();
pos
(
$a
) = 1;
$a
=~ s/\Ga(?{
push
@res
,
$_
, $`})/x/;
is(
"$a @res"
,
'axa aaa a'
);
sub
x2 {
'xx'
}
sub
x1 {
'x'
}
$a
=
$t
;
@res
= ();
pos
(
$a
) = 1;
$a
=~ s/\Ga(?{
push
@res
,
$_
, $`})/x2/ge;
is(
"$a @res"
,
'axxxx aaa a aaa aa'
);
$a
=
$t
;
@res
= ();
pos
(
$a
) = 1;
$a
=~ s/\Ga(?{
push
@res
,
$_
, $`})/x1/ge;
is(
"$a @res"
,
'axx aaa a aaa aa'
);
$a
=
$t
;
@res
= ();
pos
(
$a
) = 1;
$a
=~ s/\Ga(?{
push
@res
,
$_
, $`})/x2/e;
is(
"$a @res"
,
'axxa aaa a'
);
$a
=
$t
;
@res
= ();
pos
(
$a
) = 1;
$a
=~ s/\Ga(?{
push
@res
,
$_
, $`})/x1/e;
is(
"$a @res"
,
'axa aaa a'
);
done_testing();