summaryrefslogtreecommitdiff
path: root/lib/utf8_heavy.pl
diff options
context:
space:
mode:
authorJarkko Hietaniemi <jhi@iki.fi>2001-04-28 17:18:26 +0000
committerJarkko Hietaniemi <jhi@iki.fi>2001-04-28 17:18:26 +0000
commit9fdf68be0731526d7d18a86c19f0b68d4946728d (patch)
tree7721dfaffe4f678bff14354d99040e1636d5e49c /lib/utf8_heavy.pl
parent78be1e1a8879b539ff74d40f43ada67390ef7d6d (diff)
downloadperl-9fdf68be0731526d7d18a86c19f0b68d4946728d.tar.gz
Add a level of indirection to the implementation of \p{InFoo}
so that we don't have to have long filenames. (Nothing changes in the user interface.) The indirection is defined in the file lib/unicode/In.pl and it is handled in lib/utf8_heavy.pl. Also rename some the character classes by removing '-' from the classnames, and finally renamed Block.pl as Blocks.pl. p4raw-id: //depot/perl@9897
Diffstat (limited to 'lib/utf8_heavy.pl')
-rw-r--r--lib/utf8_heavy.pl9
1 files changed, 8 insertions, 1 deletions
diff --git a/lib/utf8_heavy.pl b/lib/utf8_heavy.pl
index 8649e9e07e..5637d12afa 100644
--- a/lib/utf8_heavy.pl
+++ b/lib/utf8_heavy.pl
@@ -26,7 +26,14 @@ sub SWASHNEW {
while (($caller = caller($i)) eq __PACKAGE__) { $i++ }
my $encoding = $enc{$caller} || "unicode";
(my $file = $type) =~ s!::!/!g;
- $file =~ s#^(I[sn]|To)([A-Z].*)#$1/$2#;
+ if ($file =~ /^In(.+)/) {
+ defined %utf8::In || do "$encoding/In.pl";
+ if (exists $utf8::In{$1}) {
+ $file = "$enconding/In/$utf8::In{$1}";
+ }
+ } else {
+ $file =~ s#^(Is|To)([A-Z].*)#$1/$2#;
+ }
$list ||= eval { $caller->$type(); }
|| do "$file.pl"
|| do "$encoding/$file.pl"