summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJarkko Hietaniemi <jhi@iki.fi>2002-03-09 18:49:55 +0000
committerJarkko Hietaniemi <jhi@iki.fi>2002-03-09 18:49:55 +0000
commite1b390dd5c0537eb1ffbc6693d65bbe6c5a6e9cd (patch)
tree4ac28684c402e3e0d54088cdcf495f2d1d1180bb
parented133382bf161b27075e50f077a902524898f238 (diff)
downloadperl-e1b390dd5c0537eb1ffbc6693d65bbe6c5a6e9cd.tar.gz
Not everybody has Encode::HanExtra.
p4raw-id: //depot/perl@15135
-rw-r--r--ext/Encode/Encode.pm52
1 files changed, 31 insertions, 21 deletions
diff --git a/ext/Encode/Encode.pm b/ext/Encode/Encode.pm
index a2792259d7..5d211843f6 100644
--- a/ext/Encode/Encode.pm
+++ b/ext/Encode/Encode.pm
@@ -57,27 +57,37 @@ our %winlatin2cp = (
'Vietnamese' => 1258,
);
-our %external_tables = (
- 'euc-cn' => 'Encode/CN.pm',
- gb2312 => 'Encode/CN.pm',
- gb12345 => 'Encode/CN.pm',
- gbk => 'Encode/CN.pm',
- cp936 => 'Encode/CN.pm',
- 'iso-ir-165' => 'Encode/CN.pm',
- 'euc-jp' => 'Encode/JP.pm',
- shiftjis => 'Encode/JP.pm',
- macjapan => 'Encode/JP.pm',
- cp932 => 'Encode/JP.pm',
- 'euc-kr' => 'Encode/KR.pm',
- ksc5601 => 'Encode/KR.pm',
- cp949 => 'Encode/KR.pm',
- big5 => 'Encode/TW.pm',
- 'big5-hkscs' => 'Encode/TW.pm',
- cp950 => 'Encode/TW.pm',
- gb18030 => 'Encode/CN.pm', # HanExtra
- big5plus => 'Encode/TW.pm', # HanExtra
- 'euc-tw', => 'Encode/TW.pm', # HanExtra
-);
+BEGIN {
+ our %external_tables =
+ (
+ 'euc-cn' => 'Encode/CN.pm',
+ gb2312 => 'Encode/CN.pm',
+ gb12345 => 'Encode/CN.pm',
+ gbk => 'Encode/CN.pm',
+ cp936 => 'Encode/CN.pm',
+ 'iso-ir-165' => 'Encode/CN.pm',
+ 'euc-jp' => 'Encode/JP.pm',
+ shiftjis => 'Encode/JP.pm',
+ macjapan => 'Encode/JP.pm',
+ cp932 => 'Encode/JP.pm',
+ 'euc-kr' => 'Encode/KR.pm',
+ ksc5601 => 'Encode/KR.pm',
+ cp949 => 'Encode/KR.pm',
+ big5 => 'Encode/TW.pm',
+ 'big5-hkscs' => 'Encode/TW.pm',
+ cp950 => 'Encode/TW.pm',
+ );
+
+ eval 'require Encode::HanExtra';
+ unless ($@) {
+ push %external_tables,
+ (
+ gb18030 => 'Encode/CN.pm', # HanExtra
+ big5plus => 'Encode/TW.pm', # HanExtra
+ 'euc-tw', => 'Encode/TW.pm', # HanExtra
+ );
+ }
+}
sub encodings
{