The Perl Toolchain Summit needs more sponsors. If your company depends on Perl, please support this very important event.
# encoding: EUCTW
# This file is encoded in EUC-TW.
die "This file is not encoded in EUC-TW.\n" if q{¤¢} ne "\xa4\xa2";

use Char;
print "1..15\n";

my $__FILE__ = __FILE__;

$text = '£É£Ï¡¥£Ó£Ù£Ó¡§£²£²£µ£µ£µ£¸¡§£¹£µ¡Ý£±£°¡Ý£°£³¡§¡Ý£á¡Ý£ó£è¡§£ï£ð£ô£é£ï£î£á£ì';

# 7.7 split±é»»»Ò(¥ê¥¹¥È¥³¥ó¥Æ¥­¥¹¥È)
@_ = split(/¡§/, $text);
if (join('', map {"($_)"} @_) eq "(£É£Ï¡¥£Ó£Ù£Ó)(£²£²£µ£µ£µ£¸)(£¹£µ¡Ý£±£°¡Ý£°£³)(¡Ý£á¡Ý£ó£è)(£ï£ð£ô£é£ï£î£á£ì)") {
    print qq{ok - 1 \@_ = split(/¡§/, \$text); $^X $__FILE__\n};
}
else {
    print qq{not ok - 1 \@_ = split(/¡§/, \$text); $^X $__FILE__\n};
}

# Æüì¤Ê¥Þ¥Ã¥ÁÈï±é»»»Ò // ¤ò»È¤Ã¤¿¾ì¹ç
@_ = split(//, "£ó£è£ï£ò£ô¡¡£ô£å£ó£ô");
if (join('', map {"($_)"} @_) eq "(£ó)(£è)(£ï)(£ò)(£ô)(¡¡)(£ô)(£å)(£ó)(£ô)") {
    print qq{ok - 2 \@_ = split(//, "£ó£è£ï£ò£ô¡¡£ô£å£ó£ô") $^X $__FILE__\n};
}
else {
    print qq{not ok - 2 \@_ = split(//, "£ó£è£ï£ò£ô¡¡£ô£å£ó£ô") $^X $__FILE__\n};
}

# Æüì¤Ê¥Þ¥Ã¥ÁÈï±é»»»Ò " "(¥¹¥Ú¡¼¥¹1¸Äʬ¤ÎÄ̾ï¤Îʸ»úÎó)¤ò»È¤Ã¤¿¾ì¹ç
@_ = split(" ", "   £á £ó£è£ï£ò£ô   £ô£å£ó£ô   ");
if (join('', map {"($_)"} @_) eq "(£á)(£ó£è£ï£ò£ô)(£ô£å£ó£ô)") {
    print qq{ok - 3 \@_ = split(" ", "   £á £ó£è£ï£ò£ô   £ô£å£ó£ô   ") $^X $__FILE__\n};
}
else {
    print qq{not ok - 3 \@_ = split(" ", "   £á £ó£è£ï£ò£ô   £ô£å£ó£ô   ") $^X $__FILE__\n};
}

# ÀèƬ¤Î¶õÇò¤ò»Ä¤·¤¿¤¤¾ì¹ç
@_ = split(m/\s+/, "   £á £ó£è£ï£ò£ô   £ô£å£ó£ô   ");
if (join('', map {"($_)"} @_) eq "()(£á)(£ó£è£ï£ò£ô)(£ô£å£ó£ô)") {
    print qq{ok - 4 \@_ = split(m/\\s+/, "   £á £ó£è£ï£ò£ô   £ô£å£ó£ô   ") $^X $__FILE__\n};
}
else {
    print qq{not ok - 4 \@_ = split(m/\\s+/, "   £á £ó£è£ï£ò£ô   £ô£å£ó£ô   ") $^X $__FILE__\n};
}

# ËöÈø¤Î¶õÇò¤ò»Ä¤·¤¿¤¤¾ì¹ç
@_ = split(" ", "   £á £ó£è£ï£ò£ô   £ô£å£ó£ô   ", -1);
if (join('', map {"($_)"} @_) eq "(£á)(£ó£è£ï£ò£ô)(£ô£å£ó£ô)()") {
    print qq{ok - 5 \@_ = split(" ", "   £á £ó£è£ï£ò£ô   £ô£å£ó£ô   ", -1) $^X $__FILE__\n};
}
else {
    print qq{not ok - 5 \@_ = split(" ", "   £á £ó£è£ï£ò£ô   £ô£å£ó£ô   ", -1) $^X $__FILE__\n};
}

# ¥Þ¥Ã¥ÁÈï±é»»»Ò¤¬»ØÄꤵ¤ì¤Æ¤¤¤Ê¤¤¾ì¹ç
$_ = "   £á £ó£è£ï£ò£ô   £ô£å£ó£ô   ";
@_ = split;
if (join('', map {"($_)"} @_) eq "(£á)(£ó£è£ï£ò£ô)(£ô£å£ó£ô)") {
    print qq{ok - 6 \@_ = split $^X $__FILE__\n};
}
else {
    print qq{not ok - 6 \@_ = split $^X $__FILE__\n};
}

# 7.7.1.2 ¥¿¡¼¥²¥Ã¥Èʸ»úÎ󤬻ØÄꤵ¤ì¤Æ¤¤¤Ê¤¤¾ì¹ç
$_ = $text;
@_ = split(/¡§/);
if (join('', map {"($_)"} @_) eq "(£É£Ï¡¥£Ó£Ù£Ó)(£²£²£µ£µ£µ£¸)(£¹£µ¡Ý£±£°¡Ý£°£³)(¡Ý£á¡Ý£ó£è)(£ï£ð£ô£é£ï£î£á£ì)") {
    print qq{ok - 7 \@_ = split(/¡§/) $^X $__FILE__\n};
}
else {
    print qq{not ok - 7 \@_ = split(/¡§/) $^X $__FILE__\n};
}

# 7.7.1.3 ¸Ä¿ô¾å¸ÂÈï±é»»»Ò¤Î´ðËÜ
@_ = split(/¡§/, $text, 3);
if (join('', map {"($_)"} @_) eq "(£É£Ï¡¥£Ó£Ù£Ó)(£²£²£µ£µ£µ£¸)(£¹£µ¡Ý£±£°¡Ý£°£³¡§¡Ý£á¡Ý£ó£è¡§£ï£ð£ô£é£ï£î£á£ì)") {
    print qq{ok - 8 \@_ = split(/¡§/, \$text, 3) $^X $__FILE__\n};
}
else {
    print qq{not ok - 8 \@_ = split(/¡§/, \$text, 3) $^X $__FILE__\n};
}

# 7.7.2 ¶õÍ×ÁÇ
@_ = split(m/¡§/, "£±£²¡§£³£´¡§¡§£·£¸");
if (join('', map {"($_)"} @_) eq "(£±£²)(£³£´)()(£·£¸)") {
    print qq{ok - 9 \@_ = split(m/¡§/, "£±£²¡§£³£´¡§¡§£·£¸") $^X $__FILE__\n};
}
else {
    print qq{not ok - 9 \@_ = split(m/¡§/, "£±£²¡§£³£´¡§¡§£·£¸") $^X $__FILE__\n};
}

# 7.7.2.1 ËöÈø¤Î¶õÍ×ÁÇ
@_ = split(m/¡§/, "£±£²¡§£³£´¡§¡§£·£¸¡§¡§¡§");
if (join('', map {"($_)"} @_) eq "(£±£²)(£³£´)()(£·£¸)") {
    print qq{ok - 10 \@_ = split(m/¡§/, "£±£²¡§£³£´¡§¡§£·£¸¡§¡§¡§") $^X $__FILE__\n};
}
else {
    print qq{not ok - 10 \@_ = split(m/¡§/, "£±£²¡§£³£´¡§¡§£·£¸¡§¡§¡§") $^X $__FILE__\n};
}

# 7.7.2.3 ʸ»úÎó¤Îξü¤Ç¤ÎÆüì¤Ê¥Þ¥Ã¥Á
@_ = split(m/¡§/, "¡§£±£²¡§£³£´¡§¡§£·£¸");
if (join('', map {"($_)"} @_) eq "()(£±£²)(£³£´)()(£·£¸)") {
    print qq{ok - 11 \@_ = split(m/¡§/, "¡§£±£²¡§£³£´¡§¡§£·£¸") $^X $__FILE__\n};
}
else {
    print qq{not ok - 11 \@_ = split(m/¡§/, "¡§£±£²¡§£³£´¡§¡§£·£¸") $^X $__FILE__\n};
}

# ¡Ö^¡×¤È¤¤¤¦Àµµ¬É½¸½¤ò»È¤Ã¤¿¾ì¹ç
$_ = "£Á£Á£Á\n£Â£Â£Â\n£Ã£Ã£Ã";
@_ = split(m/^/, $_);
if (join('', map {"($_)"} @_) eq "(£Á£Á£Á\n)(£Â£Â£Â\n)(£Ã£Ã£Ã)") {
    print qq{ok - 12 \@_ = split(m/^/, \$\_) $^X $__FILE__\n};
}
else {
    print qq{not ok - 12 \@_ = split(m/^/, \$\_) $^X $__FILE__\n};
}
@_ = split(m/^/m, $_);
if (join('', map {"($_)"} @_) eq "(£Á£Á£Á\n)(£Â£Â£Â\n)(£Ã£Ã£Ã)") {
    print qq{ok - 13 \@_ = split(m/^/m, \$\_) $^X $__FILE__\n};
}
else {
    print qq{not ok - 13 \@_ = split(m/^/m, \$\_) $^X $__FILE__\n};
}

# 7.7.4 ¥­¥ã¥×¥Á¥ãÉÕ¤­³ç¸Ì¤ò´Þ¤à split ¤Î¥Þ¥Ã¥ÁÈï±é»»»Ò
@_ = split(/(<[^>]*>)/, "¡¡£á£î£ä¡¡<£Â>£ö£å£ò£ù¡¡<£Æ£Ï£Î£Ô¡¡£ã£ï£ì£ï£ò¡á£ò£å£ä>£ö£å£ò£ù</£Æ£Ï£Î£Ô>¡¡£í£õ£ã£è</B>¡¡£å£æ£æ£ï£ò£ô");
if (join('', map {"($_)"} @_) eq "(¡¡£á£î£ä¡¡)(<£Â>)(£ö£å£ò£ù¡¡)(<£Æ£Ï£Î£Ô¡¡£ã£ï£ì£ï£ò¡á£ò£å£ä>)(£ö£å£ò£ù)(</£Æ£Ï£Î£Ô>)(¡¡£í£õ£ã£è)(</B>)(¡¡£å£æ£æ£ï£ò£ô)") {
    print qq{ok - 14 \@_ = split(/(<[^>]*>)/, "¡¡£á£î£ä¡¡<£Â>£ö£å£ò£ù¡¡<£Æ£Ï£Î£Ô¡¡£ã£ï£ì£ï£ò¡á£ò£å£ä>£ö£å£ò£ù</£Æ£Ï£Î£Ô>¡¡£í£õ£ã£è</B>¡¡£å£æ£æ£ï£ò£ô") $^X $__FILE__\n};
}
else {
    print qq{not ok - 14 \@_ = split(/(<[^>]*>)/, "¡¡£á£î£ä¡¡<£Â>£ö£å£ò£ù¡¡<£Æ£Ï£Î£Ô¡¡£ã£ï£ì£ï£ò¡á£ò£å£ä>£ö£å£ò£ù</£Æ£Ï£Î£Ô>¡¡£í£õ£ã£è</B>¡¡£å£æ£æ£ï£ò£ô") $^X $__FILE__\n};
}

# 7.7.3.1 split ¤Ë¤ÏÉûºîÍѤ¬¤Ê¤¤¤³¤È¤Î³Îǧ
$a = "ABCDEFGHIJKLMNOPQRSTUVWXYZ";
$a =~ m/ABC(DEF)G(HI)/;
if (($1 eq "DEF") and ($2 eq "HI")) {
    $b = "123,45,6,78,,90";
    @_ = split(/,/,$b);
    if (($1 eq "DEF") and ($2 eq "HI")) {
        print qq{ok - 15 split ¤ËÉûºîÍѤ¬¤Ê¤¤¤³¤È¤Î³Îǧ ($1)($2) $^X $__FILE__\n};
    }
    else {
        print qq{not ok - 15 split ¤ËÉûºîÍѤ¬¤Ê¤¤¤³¤È¤Î³Îǧ ($1)($2) $^X $__FILE__\n};
    }
}
else {
    print qq{not ok - 15 split ¤ËÉûºîÍѤ¬¤Ê¤¤¤³¤È¤Î³Îǧ ($1)($2) $^X $__FILE__\n};
}

__END__