BEGIN {
require
Config; Config->
import
();
if
(
$Config
{
'extensions'
} !~ /\bEncode\b/) {
print
"1..0 # Skip: Encode was not built\n"
;
exit
0;
}
unless
(find PerlIO::Layer
'perlio'
) {
print
"1..0 # Skip: PerlIO was not built\n"
;
exit
0;
}
if
(
ord
(
"A"
) == 193) {
print
"1..0 # Skip: EBCDIC\n"
;
exit
0;
}
if
($] >= 5.025 and !
$Config
{usecperl}) {
print
"1..0 # Skip: encoding pragma not supported in Perl 5.25 or later\n"
;
exit
(0);
}
$| = 1;
}
no
utf8;
my
$Debug
=
shift
;
no
warnings
"deprecated"
;
no
encoding;
my
$Enamae
=
"\xbe\xae\xbb\xf4\x20\xc3\xc6"
;
my
$Namae
=
"¾®»ô ÃÆ"
;
my
$Name
=
"Dan Kogai"
;
my
$Ynamae
=
"\xbe\xae\xbb\xf4\x20\xc3\xc6"
;
my
$str
=
$Namae
;
$str
=~ s/¾®»ô ÃÆ/Dan Kogai/o;
is(
$str
,
$Name
,
q{regex}
);
$str
=
$Namae
;
$str
=~ s/
$Namae
/Dan Kogai/o;
is(
$str
,
$Name
,
q{regex - with variable}
);
is(
length
(
$Namae
), 4,
q{utf8:length}
);
{
is(
length
(
$Namae
), 10,
q{bytes:length}
);
is(
length
(
$Enamae
), 7,
q{euc:length}
);
is (
$Namae
,
$Ynamae
,
q{literal conversions}
);
isnt(
$Enamae
,
$Ynamae
,
q{before and after}
);
is(
$Enamae
, Encode::encode(
'euc-jp'
,
$Namae
));
}
is(
length
(
$Namae
), 4,
q{utf8:length}
);
{
no
encoding;
ok(!
defined
(${^ENCODING}),
q{no encoding;}
);
}
ok(!
defined
(${^ENCODING}),
q{not scoped yet}
);
is (
length
(
$Namae
), 10);
{
ok(1,
"Filter on"
);
no
strict
'vars'
;
our
$¿Í = 2;
$¿Í++;
*people
= \$¿Í;
is (
$people
, 3,
"Filter:utf8 identifier"
);
no
encoding;
ok(1,
"Filter off"
);
}
1;