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

use Char::EUCJP;
print "1..20\n";

my $__FILE__ = __FILE__;

$_ = '¤¢¤¤¤¦¤¨¤ª¤«¤­¤¯¤±¤³';
if (substr($_,10) eq '¤«¤­¤¯¤±¤³') {
    print qq{ok - 1 substr(\$_,10) eq '¤«¤­¤¯¤±¤³' $^X $__FILE__\n};
}
else {
    print qq{not ok - 1 substr(\$_,10) eq '¤«¤­¤¯¤±¤³' $^X $__FILE__\n};
}

$_ = '¤¢¤¤¤¦¤¨¤ª¤«¤­¤¯¤±¤³';
if (substr($_,4,6) eq '¤¦¤¨¤ª') {
    print qq{ok - 2 substr(\$_,4,6) eq '¤¦¤¨¤ª' $^X $__FILE__\n};
}
else {
    print qq{not ok - 2 substr(\$_,4,6) eq '¤¦¤¨¤ª' $^X $__FILE__\n};
}

$_ = '¤¢¤¤¤¦¤¨¤ª¤«¤­¤¯¤±¤³';
if (substr($_,4,6,'¤µ¤·¤¹¤»¤½') eq '¤¦¤¨¤ª') {
    if ($_ eq '¤¢¤¤¤µ¤·¤¹¤»¤½¤«¤­¤¯¤±¤³') {
        print qq{ok - 3 substr(\$_,4,6,'¤µ¤·¤¹¤»¤½') eq '¤¦¤¨¤ª' $^X $__FILE__\n};
    }
    else {
        print qq{not ok - 3 substr(\$_,4,6,'¤µ¤·¤¹¤»¤½') eq '¤¦¤¨¤ª' $^X $__FILE__\n};
    }
}
else {
    print qq{not ok - 3 substr(\$_,4,6,'¤µ¤·¤¹¤»¤½') eq '¤¦¤¨¤ª' $^X $__FILE__\n};
}

$_ = '¤¢¤¤¤¦¤¨¤ª¤«¤­¤¯¤±¤³';
if (substr($_,-6) eq '¤¯¤±¤³') {
    print qq{ok - 4 substr(\$_,-6) eq '¤¯¤±¤³' $^X $__FILE__\n};
}
else {
    print qq{not ok - 4 substr(\$_,-6) eq '¤¯¤±¤³' $^X $__FILE__\n};
}

$_ = '¤¢¤¤¤¦¤¨¤ª¤«¤­¤¯¤±¤³';
if (substr($_,-10,6) eq '¤«¤­¤¯') {
    print qq{ok - 5 substr(\$_,-10,6) eq '¤«¤­¤¯' $^X $__FILE__\n};
}
else {
    print qq{not ok - 5 substr(\$_,-10,6) eq '¤«¤­¤¯' $^X $__FILE__\n};
}

$_ = '¤¢¤¤¤¦¤¨¤ª¤«¤­¤¯¤±¤³';
if (substr($_,-10,6,'¤ä¤æ¤è') eq '¤«¤­¤¯') {
    if ($_ eq '¤¢¤¤¤¦¤¨¤ª¤ä¤æ¤è¤±¤³') {
        print qq{ok - 6 substr(\$_,-10,6,'¤ä¤æ¤è') eq '¤«¤­¤¯' $^X $__FILE__\n};
    }
    else {
        print qq{not ok - 6 substr(\$_,-10,6,'¤ä¤æ¤è') eq '¤«¤­¤¯' $^X $__FILE__\n};
    }
}
else {
    print qq{not ok - 6 substr(\$_,-10,6,'¤ä¤æ¤è') eq '¤«¤­¤¯' $^X $__FILE__\n};
}

$_ = '¤¢¤¤¤¦¤¨¤ª¤«¤­¤¯¤±¤³';
if (substr($_,10,0) eq '') {
    print qq{ok - 7 substr(\$_,10,0) eq '' $^X $__FILE__\n};
}
else {
    print qq{not ok - 7 substr(\$_,10,0) eq '' $^X $__FILE__\n};
}

$_ = '¤¢¤¤¤¦¤¨¤ª¤«¤­¤¯¤±¤³';
if (substr($_,10,0,'¤ä¤æ¤è') eq '') {
    if ($_ eq '¤¢¤¤¤¦¤¨¤ª¤ä¤æ¤è¤«¤­¤¯¤±¤³') {
        print qq{ok - 8 substr(\$_,10,0,'¤ä¤æ¤è') eq '' $^X $__FILE__\n};
    }
    else {
        print qq{not ok - 8 substr(\$_,10,0,'¤ä¤æ¤è') eq '' $^X $__FILE__\n};
    }
}
else {
    print qq{not ok - 8 substr(\$_,10,0,'¤ä¤æ¤è') eq '' $^X $__FILE__\n};
}

$_ = '¤¢¤¤¤¦¤¨¤ª¤«¤­¤¯¤±¤³';
if (substr($_,-10,0) eq '') {
    print qq{ok - 9 substr(\$_,-10,0) eq '' $^X $__FILE__\n};
}
else {
    print qq{not ok - 9 substr(\$_,-10,0) eq '' $^X $__FILE__\n};
}

$_ = '¤¢¤¤¤¦¤¨¤ª¤«¤­¤¯¤±¤³';
if (substr($_,-10,0,'¤ä¤æ¤è') eq '') {
    if ($_ eq '¤¢¤¤¤¦¤¨¤ª¤ä¤æ¤è¤«¤­¤¯¤±¤³') {
        print qq{ok - 10 substr(\$_,-10,0,'¤ä¤æ¤è') eq '' $^X $__FILE__\n};
    }
    else {
        print qq{not ok - 10 substr(\$_,-10,0,'¤ä¤æ¤è') eq '' $^X $__FILE__\n};
    }
}
else {
    print qq{not ok - 10 substr(\$_,-10,0,'¤ä¤æ¤è') eq '' $^X $__FILE__\n};
}

$_ = '¤¢¤¤¤¦¤¨¤ª¤«¤­¤¯¤±¤³';
if (Char::EUCJP::substr($_,5) eq '¤«¤­¤¯¤±¤³') {
    print qq{ok - 11 Char::EUCJP::substr(\$_,5) eq '¤«¤­¤¯¤±¤³' $^X $__FILE__\n};
}
else {
    print qq{not ok - 11 Char::EUCJP::substr(\$_,5) eq '¤«¤­¤¯¤±¤³' $^X $__FILE__\n};
}

$_ = '¤¢¤¤¤¦¤¨¤ª¤«¤­¤¯¤±¤³';
if (Char::EUCJP::substr($_,2,3) eq '¤¦¤¨¤ª') {
    print qq{ok - 12 Char::EUCJP::substr(\$_,2,3) eq '¤¦¤¨¤ª' $^X $__FILE__\n};
}
else {
    print qq{not ok - 12 Char::EUCJP::substr(\$_,2,3) eq '¤¦¤¨¤ª' $^X $__FILE__\n};
}

$_ = '¤¢¤¤¤¦¤¨¤ª¤«¤­¤¯¤±¤³';
if (Char::EUCJP::substr($_,2,3,'¤µ¤·¤¹¤»¤½') eq '¤¦¤¨¤ª') {
    if ($_ eq '¤¢¤¤¤µ¤·¤¹¤»¤½¤«¤­¤¯¤±¤³') {
        print qq{ok - 13 Char::EUCJP::substr(\$_,2,3,'¤µ¤·¤¹¤»¤½') eq '¤¦¤¨¤ª' $^X $__FILE__\n};
    }
    else {
        print qq{not ok - 13 Char::EUCJP::substr(\$_,2,3,'¤µ¤·¤¹¤»¤½') eq '¤¦¤¨¤ª' $^X $__FILE__\n};
    }
}
else {
    print qq{not ok - 13 Char::EUCJP::substr(\$_,2,3,'¤µ¤·¤¹¤»¤½') eq '¤¦¤¨¤ª' $^X $__FILE__\n};
}

$_ = '¤¢¤¤¤¦¤¨¤ª¤«¤­¤¯¤±¤³';
if (Char::EUCJP::substr($_,-3) eq '¤¯¤±¤³') {
    print qq{ok - 14 Char::EUCJP::substr(\$_,-3) eq '¤¯¤±¤³' $^X $__FILE__\n};
}
else {
    print qq{not ok - 14 Char::EUCJP::substr(\$_,-3) eq '¤¯¤±¤³' $^X $__FILE__\n};
}

$_ = '¤¢¤¤¤¦¤¨¤ª¤«¤­¤¯¤±¤³';
if (Char::EUCJP::substr($_,-5,3) eq '¤«¤­¤¯') {
    print qq{ok - 15 Char::EUCJP::substr(\$_,-5,3) eq '¤«¤­¤¯' $^X $__FILE__\n};
}
else {
    print qq{not ok - 15 Char::EUCJP::substr(\$_,-5,3) eq '¤«¤­¤¯' $^X $__FILE__\n};
}

$_ = '¤¢¤¤¤¦¤¨¤ª¤«¤­¤¯¤±¤³';
if (Char::EUCJP::substr($_,-5,3,'¤ä¤æ¤è') eq '¤«¤­¤¯') {
    if ($_ eq '¤¢¤¤¤¦¤¨¤ª¤ä¤æ¤è¤±¤³') {
        print qq{ok - 16 Char::EUCJP::substr(\$_,-5,3,'¤ä¤æ¤è') eq '¤«¤­¤¯' $^X $__FILE__\n};
    }
    else {
        print qq{not ok - 16 Char::EUCJP::substr(\$_,-5,3,'¤ä¤æ¤è') eq '¤«¤­¤¯' $^X $__FILE__\n};
    }
}
else {
    print qq{not ok - 16 Char::EUCJP::substr(\$_,-5,3,'¤ä¤æ¤è') eq '¤«¤­¤¯' $^X $__FILE__\n};
}

$_ = '¤¢¤¤¤¦¤¨¤ª¤«¤­¤¯¤±¤³';
if (Char::EUCJP::substr($_,5,0) eq '') {
    print qq{ok - 17 Char::EUCJP::substr(\$_,5,0) eq '' $^X $__FILE__\n};
}
else {
    print qq{not ok - 17 Char::EUCJP::substr(\$_,5,0) eq '' $^X $__FILE__\n};
}

$_ = '¤¢¤¤¤¦¤¨¤ª¤«¤­¤¯¤±¤³';
if (Char::EUCJP::substr($_,5,0,'¤ä¤æ¤è') eq '') {
    if ($_ eq '¤¢¤¤¤¦¤¨¤ª¤ä¤æ¤è¤«¤­¤¯¤±¤³') {
        print qq{ok - 18 Char::EUCJP::substr(\$_,5,0,'¤ä¤æ¤è') eq '' $^X $__FILE__\n};
    }
    else {
        print qq{not ok - 18 Char::EUCJP::substr(\$_,5,0,'¤ä¤æ¤è') eq '' $^X $__FILE__\n};
    }
}
else {
    print qq{not ok - 18 Char::EUCJP::substr(\$_,5,0,'¤ä¤æ¤è') eq '' $^X $__FILE__\n};
}

$_ = '¤¢¤¤¤¦¤¨¤ª¤«¤­¤¯¤±¤³';
if (Char::EUCJP::substr($_,-5,0) eq '') {
    print qq{ok - 19 Char::EUCJP::substr(\$_,-5,0) eq '' $^X $__FILE__\n};
}
else {
    print qq{not ok - 19 Char::EUCJP::substr(\$_,-5,0) eq '' $^X $__FILE__\n};
}

$_ = '¤¢¤¤¤¦¤¨¤ª¤«¤­¤¯¤±¤³';
if (Char::EUCJP::substr($_,-5,0,'¤ä¤æ¤è') eq '') {
    if ($_ eq '¤¢¤¤¤¦¤¨¤ª¤ä¤æ¤è¤«¤­¤¯¤±¤³') {
        print qq{ok - 20 Char::EUCJP::substr(\$_,-5,0,'¤ä¤æ¤è') eq '' $^X $__FILE__\n};
    }
    else {
        print qq{not ok - 20 Char::EUCJP::substr(\$_,-5,0,'¤ä¤æ¤è') eq '' $^X $__FILE__\n};
    }
}
else {
    print qq{not ok - 20 Char::EUCJP::substr(\$_,-5,0,'¤ä¤æ¤è') eq '' $^X $__FILE__\n};
}

__END__