File Coverage

blib/lib/Regexp/Common/URI/RFC2384.pm
Criterion Covered Total %
statement 28 28 100.0
branch n/a
condition n/a
subroutine 9 9 100.0
pod n/a
total 37 37 100.0


line stmt bran cond sub pod time code
1             package Regexp::Common::URI::RFC2384;
2              
3              
4 72     72   248 use Regexp::Common qw /pattern clean no_defaults/;
  72         72  
  72         310  
5 72     72   277 use Regexp::Common::URI::RFC1738 qw /$unreserved_range $escape $hostport/;
  72         83  
  72         5205  
6              
7 72     72   261 use strict;
  72         107  
  72         1210  
8 72     72   380 use warnings;
  72         73  
  72         1784  
9              
10 72     72   231 use vars qw /$VERSION/;
  72         68  
  72         2910  
11             $VERSION = '2017040401';
12              
13 72     72   281 use vars qw /@EXPORT @EXPORT_OK %EXPORT_TAGS @ISA/;
  72         75  
  72         3170  
14              
15 72     72   245 use Exporter ();
  72         74  
  72         3849  
16             @ISA = qw /Exporter/;
17              
18              
19             my %vars;
20              
21             BEGIN {
22 72     72   207 $vars {low} = [qw /$achar_range $achar $achars $achar_more/];
23 72         139 $vars {connect} = [qw /$enc_sasl $enc_user $enc_ext $enc_auth_type $auth
24             $user_auth $server/];
25 72         2085 $vars {parts} = [qw /$pop_url/];
26             }
27              
28 72     72   248 use vars map {@$_} values %vars;
  72         129  
  72         186  
  216         16575  
29              
30             @EXPORT = qw /$host/;
31             @EXPORT_OK = map {@$_} values %vars;
32             %EXPORT_TAGS = (%vars, ALL => [@EXPORT_OK]);
33              
34             # RFC 2384, POP3.
35              
36             # Lowlevel definitions.
37             $achar_range = "$unreserved_range&=~";
38             $achar = "(?:[$achar_range]|$escape)";
39             $achars = "(?:(?:[$achar_range]+|$escape)*)";
40             $achar_more = "(?:(?:[$achar_range]+|$escape)+)";
41             $enc_sasl = $achar_more;
42             $enc_user = $achar_more;
43             $enc_ext = "(?:[+](?:APOP|$achar_more))";
44             $enc_auth_type = "(?:$enc_sasl|$enc_ext)";
45             $auth = "(?:;AUTH=(?:[*]|$enc_auth_type))";
46             $user_auth = "(?:$enc_user$auth?)";
47             $server = "(?:(?:$user_auth\@)?$hostport)";
48             $pop_url = "(?:pop://$server)";
49              
50              
51             1;
52              
53             __END__