File Coverage

blib/lib/Number/Phone/StubCountry/MT.pm
Criterion Covered Total %
statement 17 17 100.0
branch 2 2 100.0
condition n/a
subroutine 5 5 100.0
pod 1 1 100.0
total 25 25 100.0


line stmt bran cond sub pod time code
1             # automatically generated file, don't edit
2              
3              
4              
5             # Copyright 2023 David Cantrell, derived from data from libphonenumber
6             # http://code.google.com/p/libphonenumber/
7             #
8             # Licensed under the Apache License, Version 2.0 (the "License");
9             # you may not use this file except in compliance with the License.
10             # You may obtain a copy of the License at
11             #
12             # http://www.apache.org/licenses/LICENSE-2.0
13             #
14             # Unless required by applicable law or agreed to in writing, software
15             # distributed under the License is distributed on an "AS IS" BASIS,
16             # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
17             # See the License for the specific language governing permissions and
18             # limitations under the License.
19             package Number::Phone::StubCountry::MT;
20 2     2   1370 use base qw(Number::Phone::StubCountry);
  2         6  
  2         301  
21              
22 2     2   22 use strict;
  2         6  
  2         68  
23 2     2   12 use warnings;
  2         5  
  2         63  
24 2     2   13 use utf8;
  2         5  
  2         19  
25             our $VERSION = 1.20230614174404;
26              
27             my $formatters = [
28             {
29             'format' => '$1 $2',
30             'leading_digits' => '[2357-9]',
31             'pattern' => '(\\d{4})(\\d{4})'
32             }
33             ];
34              
35             my $validators = {
36             'fixed_line' => '
37             20(?:
38             3[1-4]|
39             6[059]
40             )\\d{4}|
41             2(?:
42             0[19]|
43             [1-357]\\d|
44             60
45             )\\d{5}
46             ',
47             'geographic' => '
48             20(?:
49             3[1-4]|
50             6[059]
51             )\\d{4}|
52             2(?:
53             0[19]|
54             [1-357]\\d|
55             60
56             )\\d{5}
57             ',
58             'mobile' => '
59             (?:
60             7(?:
61             210|
62             [79]\\d\\d
63             )|
64             9(?:
65             [29]\\d\\d|
66             69[67]|
67             8(?:
68             1[1-3]|
69             89|
70             97
71             )
72             )
73             )\\d{4}
74             ',
75             'pager' => '7117\\d{4}',
76             'personal_number' => '',
77             'specialrate' => '(
78             5(?:
79             0(?:
80             0(?:
81             37|
82             43
83             )|
84             (?:
85             6\\d|
86             70|
87             9[0168]
88             )\\d
89             )|
90             [12]\\d0[1-5]
91             )\\d{3}
92             )|(501\\d{5})',
93             'toll_free' => '
94             800(?:
95             02|
96             [3467]\\d
97             )\\d{3}
98             ',
99             'voip' => '3550\\d{4}'
100             };
101              
102             sub new {
103 22     22 1 42 my $class = shift;
104 22         41 my $number = shift;
105 22         148 $number =~ s/(^\+356|\D)//g;
106 22         114 my $self = bless({ country_code => '356', number => $number, formatters => $formatters, validators => $validators, }, $class);
107 22 100       109 return $self->is_valid() ? $self : undef;
108             }
109             1;