File Coverage

blib/lib/WWW/IP.pm
Criterion Covered Total %
statement 32 37 86.4
branch n/a
condition n/a
subroutine 12 13 92.3
pod 1 1 100.0
total 45 51 88.2


line stmt bran cond sub pod time code
1 1     1   40176 use strict;
  1         1  
  1         38  
2 1     1   5 use warnings;
  1         2  
  1         51  
3             package WWW::IP;
4             $WWW::IP::VERSION = '0.02';
5 1     1   1055 use HTTP::Tiny;
  1         39560  
  1         36  
6 1     1   18 use 5.008;
  1         3  
  1         40  
7 1     1   559 use WWW::hmaip ();
  1         290  
  1         15  
8 1     1   385 use WWW::PerlTricksIP ();
  1         275  
  1         15  
9 1     1   399 use WWW::ipinfo ();
  1         13031  
  1         21  
10 1     1   492 use Try::Tiny;
  1         1025  
  1         58  
11              
12             # ABSTRACT: Returns your ip address with failsafe mechanism
13              
14              
15             BEGIN {
16 1     1   5 require Exporter;
17 1     1   5 use base 'Exporter';
  1         1  
  1         71  
18 1         3 our @EXPORT = 'get_ip';
19 1         101 our @EXPORT_OK = ();
20             }
21              
22              
23             sub get_ip {
24             try {
25 1     1   41 WWW::hmaip::get_ip();
26             } catch {
27             try {
28 0         0 WWW::ipinfo::get_ipinfo->{ip};
29             } catch {
30             try {
31 0         0 WWW::PerlTricksIP::get_ip();
32             }
33             catch {
34 0         0 die $_;
35             }
36 0         0 }
37 0     0 1 0 };
  1     1   14  
38             }
39              
40              
41             1;
42              
43             __END__