File Coverage

blib/lib/ShiftJIS/Regexp/Equiv.pm
Criterion Covered Total %
statement 12 12 100.0
branch n/a
condition n/a
subroutine 4 4 100.0
pod n/a
total 16 16 100.0


line stmt bran cond sub pod time code
1             package ShiftJIS::Regexp::Equiv;
2 6     6   40 use strict;
  6         11  
  6         383  
3 6     6   37 use Carp;
  6         12  
  6         508  
4              
5 6     6   33 use vars qw($VERSION @ISA @EXPORT @EXPORT_OK);
  6         12  
  6         718  
6             $VERSION = '1.03';
7              
8             require Exporter;
9             @ISA = qw(Exporter);
10             @EXPORT = qw();
11             @EXPORT_OK = qw(%Eq);
12              
13 6     6   32 use vars qw(%Eq);
  6         10  
  6         4982  
14              
15             my $Open = 5.005 > $] ? '(?:' : '(?-i:';
16             my $Close = ')';
17              
18             foreach(
19             ['!', 'I'],
20             ['#', '”'],
21             ['$', ''],
22             ['%', '“'],
23             ['&', '•'],
24             ['(', 'i'],
25             [')', 'j'],
26             ['*', '–'],
27             ['+', '{'],
28             [',', 'C'],
29             ['.', 'D'],
30             ['/', '^'],
31             ['0', '‚O'],
32             ['1', '‚P'],
33             ['2', '‚Q'],
34             ['3', '‚R'],
35             ['4', '‚S'],
36             ['5', '‚T'],
37             ['6', '‚U'],
38             ['7', '‚V'],
39             ['8', '‚W'],
40             ['9', '‚X'],
41             [':', 'F'],
42             [';', 'G'],
43             ['<', 'ƒ'],
44             ['=', ''],
45             ['>', '„'],
46             ['?', 'H'],
47             ['@', '—'],
48             ['[', 'm'],
49             ['\\',''],
50             [']', 'n'],
51             ['^', 'O'],
52             ['_', 'Q'],
53             ['`', 'M'],
54             ['{', 'o'],
55             ['|', 'b'],
56             ['}', 'p'],
57             ['~', 'P'],
58             ['B', '”'],
59             ['u', '¢'],
60             ['v', '£'],
61             ['A', '¤'],
62             ['E', '„'],
63             ['[', '°'],
64             ['a', '‚', 'A', '‚`'],
65             ['b', '‚‚', 'B', '‚a'],
66             ['c', '‚ƒ', 'C', '‚b'],
67             ['d', '‚„', 'D', '‚c'],
68             ['e', '‚…', 'E', '‚d'],
69             ['f', '‚†', 'F', '‚e'],
70             ['g', '‚‡', 'G', '‚f'],
71             ['h', '‚ˆ', 'H', '‚g'],
72             ['i', '‚‰', 'I', '‚h'],
73             ['j', '‚Š', 'J', '‚i'],
74             ['k', '‚‹', 'K', '‚j'],
75             ['l', '‚Œ', 'L', '‚k'],
76             ['m', '‚', 'M', '‚l'],
77             ['n', '‚Ž', 'N', '‚m'],
78             ['o', '‚', 'O', '‚n'],
79             ['p', '‚', 'P', '‚o'],
80             ['q', '‚‘', 'Q', '‚p'],
81             ['r', '‚’', 'R', '‚q'],
82             ['s', '‚“', 'S', '‚r'],
83             ['t', '‚”', 'T', '‚s'],
84             ['u', '‚•', 'U', '‚t'],
85             ['v', '‚–', 'V', '‚u'],
86             ['w', '‚—', 'W', '‚v'],
87             ['x', '‚˜', 'X', '‚w'],
88             ['y', '‚™', 'Y', '‚x'],
89             ['z', '‚š', 'Z', '‚y'],
90             [qw/‚Ÿ ƒ@ § ‚  ƒA ± /],
91             [qw/‚” ƒB Ø ‚¢ ƒC ² /],
92             [qw/‚£ ƒD © ‚¤ ƒE ƒ” ³Ž ³ /],
93             [qw/‚„ ƒF Ŗ ‚¦ ƒG “ /],
94             [qw/‚§ ƒH « ‚Ø ƒI µ /],
95             [qw/‚Ŗ ƒK ¶Ž ‚© ƒJ ¶ ƒ•/],
96             [qw/‚¬ ƒM ·Ž ‚« ƒL · /],
97             [qw/‚® ƒO øŽ ‚­ ƒN ø /],
98             [qw/‚° ƒQ ¹Ž ‚Æ ƒP ¹ ƒ– /],
99             [qw/‚² ƒS ŗŽ ‚± ƒR ŗ /],
100             [qw/‚“ ƒU »Ž ‚³ ƒT » /],
101             [qw/‚¶ ƒW ¼Ž ‚µ ƒV ¼ /],
102             [qw/‚ø ƒY ½Ž ‚· ƒX ½ /],
103             [qw/‚ŗ ƒ[ ¾Ž ‚¹ ƒZ ¾ /],
104             [qw/‚¼ ƒ] æŽ ‚» ƒ\ æ /],
105             [qw/‚¾ ƒ_ ĄŽ ‚½ ƒ^ Ą /],
106             [qw/‚Ą ƒa ĮŽ ‚æ ƒ` Į /],
107             [qw/‚Ć ƒd ĀŽ ‚Ā ƒc Ā ‚Į ƒb Æ/],
108             [qw/‚Å ƒf ĆŽ ‚Ä ƒe Ć /],
109             [qw/‚Ē ƒh ÄŽ ‚Ę ƒg Ä /],
110             [qw/‚Č ƒi Å /],
111             [qw/‚É ƒj Ę /],
112             [qw/‚Ź ƒk Ē /],
113             [qw/‚Ė ƒl Č /],
114             [qw/‚Ģ ƒm É /],
115             [qw/‚Ī ƒo ŹŽ ‚Ļ ƒp Źß ‚Ķ ƒn Ź /],
116             [qw/‚Ń ƒr ĖŽ ‚Ņ ƒs Ėß ‚Š ƒq Ė /],
117             [qw/‚Ō ƒu ĢŽ ‚Õ ƒv Ģß ‚Ó ƒt Ģ /],
118             [qw/‚× ƒx ĶŽ ‚Ų ƒy Ķß ‚Ö ƒw Ķ /],
119             [qw/‚Ś ƒ{ ĪŽ ‚Ū ƒ| Īß ‚Ł ƒz Ī /],
120             [qw/‚Ü ƒ} Ļ /],
121             [qw/‚Ż ƒ~ Š /],
122             [qw/‚Ž ƒ€ Ń /],
123             [qw/‚ß ƒ Ņ /],
124             [qw/‚ą ƒ‚ Ó /],
125             [qw/‚į ƒƒ ¬ ‚ā ƒ„ Ō /],
126             [qw/‚ć ƒ… ­ ‚ä ƒ† Õ /],
127             [qw/‚å ƒ‡ ® ‚ę ƒˆ Ö /],
128             [qw/‚ē ƒ‰ × /],
129             [qw/‚č ƒŠ Ų /],
130             [qw/‚é ƒ‹ Ł /],
131             [qw/‚ź ƒŒ Ś /],
132             [qw/‚ė ƒ Ū /],
133             [qw/‚ķ ƒ Ü ‚ģ ƒŽ /],
134             [qw/‚ī ƒ /],
135             [qw/‚ļ ƒ‘ /],
136             [qw/‚š ƒ’ ¦ /],
137             [qw/‚ń ƒ“ Ż /],
138             [qw/T R U S /],
139             [qw/J K Ž ß /],
140             ) {
141             my $arr = $_;
142             my $re = $Open.join('|', map {
143             length($_) == 1
144             ? sprintf('\x%02x', ord $_)
145             : sprintf('\x%02x\x%02x', unpack 'C2', $_)
146             } @$arr) .$Close;
147             @Eq{@$arr} = ($re) x @$arr;
148             }
149              
150             1;
151             __END__