line |
stmt |
bran |
cond |
sub |
pod |
time |
code |
1
|
|
|
|
|
|
|
package Regexp::IPv6; |
2
|
|
|
|
|
|
|
|
3
|
|
|
|
|
|
|
our $VERSION = '0.03'; |
4
|
|
|
|
|
|
|
|
5
|
1
|
|
|
1
|
|
30732
|
use strict; |
|
1
|
|
|
|
|
3
|
|
|
1
|
|
|
|
|
39
|
|
6
|
1
|
|
|
1
|
|
5
|
use warnings; |
|
1
|
|
|
|
|
2
|
|
|
1
|
|
|
|
|
288
|
|
7
|
|
|
|
|
|
|
|
8
|
|
|
|
|
|
|
require Exporter; |
9
|
|
|
|
|
|
|
our @ISA = qw(Exporter); |
10
|
|
|
|
|
|
|
our @EXPORT_OK = qw($IPv6_re); |
11
|
|
|
|
|
|
|
|
12
|
|
|
|
|
|
|
my $IPv4 = "((25[0-5]|2[0-4][0-9]|[0-1]?[0-9]{1,2})[.](25[0-5]|2[0-4][0-9]|[0-1]?[0-9]{1,2})[.](25[0-5]|2[0-4][0-9]|[0-1]?[0-9]{1,2})[.](25[0-5]|2[0-4][0-9]|[0-1]?[0-9]{1,2}))"; |
13
|
|
|
|
|
|
|
my $G = "[0-9a-fA-F]{1,4}"; |
14
|
|
|
|
|
|
|
|
15
|
|
|
|
|
|
|
my @tail = ( ":", |
16
|
|
|
|
|
|
|
"(:($G)?|$IPv4)", |
17
|
|
|
|
|
|
|
":($IPv4|$G(:$G)?|)", |
18
|
|
|
|
|
|
|
"(:$IPv4|:$G(:$IPv4|(:$G){0,2})|:)", |
19
|
|
|
|
|
|
|
"((:$G){0,2}(:$IPv4|(:$G){1,2})|:)", |
20
|
|
|
|
|
|
|
"((:$G){0,3}(:$IPv4|(:$G){1,2})|:)", |
21
|
|
|
|
|
|
|
"((:$G){0,4}(:$IPv4|(:$G){1,2})|:)" ); |
22
|
|
|
|
|
|
|
|
23
|
|
|
|
|
|
|
our $IPv6_re = $G; |
24
|
|
|
|
|
|
|
$IPv6_re = "$G:($IPv6_re|$_)" for @tail; |
25
|
|
|
|
|
|
|
$IPv6_re = qq/:(:$G){0,5}((:$G){1,2}|:$IPv4)|$IPv6_re/; |
26
|
|
|
|
|
|
|
$IPv6_re =~ s/\(/(?:/g; |
27
|
|
|
|
|
|
|
$IPv6_re = qr/$IPv6_re/; |
28
|
|
|
|
|
|
|
|
29
|
|
|
|
|
|
|
1; |
30
|
|
|
|
|
|
|
__END__ |