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

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

my $__FILE__ = __FILE__;

open(FILE,">$__FILE__.txt") || die;
print FILE <DATA>;
close(FILE);

open(GETC,"<$__FILE__.txt") || die;
my @getc = ();
while (my $c = Char::getc(GETC)) {
    last if $c =~ /\A[\r\n]\z/;
    push @getc, $c;
}
close(GETC);

my $result = join('', map {"($_)"} @getc);
if ($result eq '(1)(2)(Ž±)(Ž²)(¤¢)(¤¤)') {
    print "ok - 1 $^X $__FILE__ 12Ž±Ž²¤¢¤¤ --> $result.\n";
}
else {
    print "not ok - 1 $^X $__FILE__ 12Ž±Ž²¤¢¤¤ --> $result.\n";
}

{
    package Getc::Test;

    open(GETC2,"<$__FILE__.txt") || die;
    my @getc = ();
    while (my $c = Char::getc(GETC2)) {
        last if $c =~ /\A[\r\n]\z/;
        push @getc, $c;
    }
    close(GETC2);

    my $result = join('', map {"($_)"} @getc);
    if ($result eq '(1)(2)(Ž±)(Ž²)(¤¢)(¤¤)') {
        print "ok - 1 $^X $__FILE__ 12Ž±Ž²¤¢¤¤ --> $result.\n";
    }
    else {
        print "not ok - 1 $^X $__FILE__ 12Ž±Ž²¤¢¤¤ --> $result.\n";
    }
}

unlink("$__FILE__.txt");

__END__
12Ž±Ž²¤¢¤¤