1 |
package SWE::DB::SuikaWiki3; |
package SWE::DB::SuikaWiki3; |
2 |
use strict; |
use strict; |
3 |
|
|
4 |
require Encode::EUCJP1997; |
require Encode::EUCJPSW; |
5 |
|
|
6 |
sub new ($) { |
sub new ($) { |
7 |
my $self = bless { |
my $self = bless { |
22 |
my $file_name = $self->{root_directory_name}; |
my $file_name = $self->{root_directory_name}; |
23 |
$file_name .= join '/', |
$file_name .= join '/', |
24 |
map { s/(.)/sprintf '%02X', ord $1/sge; $_ . $self->{ns_suffix} } |
map { s/(.)/sprintf '%02X', ord $1/sge; $_ . $self->{ns_suffix} } |
25 |
map { Encode::encode ('euc-jp-1997', $_) } @$key; |
map { Encode::encode ('euc-jp-sw', $_) } @$key; |
26 |
$file_name =~ s/\Q$self->{ns_suffix}\E$/$self->{leaf_suffix}/; |
$file_name =~ s/\Q$self->{ns_suffix}\E$/$self->{leaf_suffix}/; |
27 |
|
|
28 |
return $file_name; |
return $file_name; |
34 |
|
|
35 |
return undef unless -f $file_name; |
return undef unless -f $file_name; |
36 |
|
|
37 |
open my $file, '<:encoding(euc-jp-1997)', $file_name |
open my $file, '<:encoding(euc-jp-sw)', $file_name |
38 |
or die "$0: $file_name: $!"; |
or die "$0: $file_name: $!"; |
39 |
local $/ = undef; |
local $/ = undef; |
40 |
return scalar <$file>; |
return scalar <$file>; |