my $sjis = encode("cp932", $utf8->decode($str), Encode::FB_HTMLCREF);
if ($sjis =~ /&#\d{4,};/) {
- return 1;
+ Encode::from_to($sjis, "cp932", "utf8");
+ return $sjis;
}
return '';
sub checkdir {
my $target = shift @_;
- print STDERR "checking '$target'\n";
+ print STDERR "# checking '$target'\n";
opendir(my $dir, $target) || return $target;
- my @entries = sort readdir($dir);
+ my @entries = sort grep { !m/^(\.|\.\.)$/g } readdir($dir);
closedir($dir);
my @dirs;
while (my $entry = shift @entries) {
- next if ($entry =~ /^\.+$/);
- if (match($entry)) {
- print "'$target/$entry' contains non Shift_JIS character\n";
+ if (my $convert = match($entry)) {
+ print "'$target/$entry' can be converted to '$convert'\n";
next;
}
if (-d "$target/$entry") {