| line |
true |
false |
branch |
|
112
|
1 |
40 |
if (ref $proto eq 'HASH') |
|
118
|
2 |
17 |
if (exists $proto->{$k}) |
|
121
|
0 |
2 |
if ($k eq 'pingstring') |
|
122
|
0 |
2 |
if ($k eq 'source_verify') |
|
124
|
0 |
2 |
if $k eq 'timeout' |
|
125
|
0 |
2 |
if $k eq 'data_size' |
|
126
|
0 |
2 |
if $k eq 'device' |
|
127
|
0 |
2 |
if $k eq 'tos' |
|
128
|
1 |
1 |
if $k eq 'ttl' |
|
129
|
0 |
2 |
if $k eq 'family' |
|
133
|
0 |
1 |
if (%$proto) |
|
139
|
2 |
39 |
unless $proto |
|
140
|
1 |
40 |
unless $proto =~ /^(icmp|icmpv6|udp|tcp|syn|stream|external)$/ |
|
144
|
22 |
18 |
unless defined $timeout |
|
145
|
1 |
39 |
if $timeout <= 0 |
|
153
|
0 |
39 |
if ($self->{'host'}) |
|
155
|
0 |
0 |
unless my $ip = $self->_resolv($host) |
|
161
|
0 |
39 |
if ($self->{'bind'}) { } |
|
163
|
0 |
0 |
unless my $ip = $self->_resolv($addr) |
|
170
|
11 |
28 |
if ($self->{'proto'} eq 'icmp') |
|
171
|
2 |
2 |
if $ttl and $ttl < 0 || $ttl > 255 |
|
176
|
0 |
37 |
if ($family) { } |
|
177
|
0 |
0 |
if ($family =~ /$qr_family/) { } |
|
178
|
0 |
0 |
if ($family =~ /$qr_family4/) { } |
|
187
|
1 |
36 |
if ($self->{'proto'} eq 'icmpv6') { } |
|
194
|
4 |
33 |
$proto eq 'udp' ? : |
|
195
|
35 |
2 |
unless defined $data_size and $proto ne 'tcp' |
|
197
|
2 |
35 |
if $data_size < $min_datasize or $data_size > $Net::Ping::max_datasize |
|
199
|
2 |
33 |
if $self->{'proto'} eq 'udp' |
|
209
|
35 |
0 |
unless exists $self->{'retrans'} |
|
211
|
35 |
0 |
unless exists $self->{'econnrefused'} |
|
214
|
2 |
33 |
if ($self->{'proto'} eq 'udp') { } |
|
|
9 |
24 |
elsif ($self->{'proto'} eq 'icmp') { } |
|
|
1 |
23 |
elsif ($self->{'proto'} eq 'icmpv6') { } |
|
|
15 |
8 |
elsif ($self->{'proto'} eq 'tcp' or $self->{'proto'} eq 'stream') { } |
|
|
8 |
0 |
elsif ($self->{'proto'} eq 'syn') { } |
|
223
|
0 |
2 |
unless socket $self->{'fh'}, 2, 2, $self->{'proto_num'} |
|
229
|
0 |
9 |
unless _isroot() |
|
234
|
0 |
9 |
unless socket $self->{'fh'}, 2, 3, $self->{'proto_num'} |
|
237
|
2 |
7 |
if ($self->{'ttl'}) |
|
238
|
0 |
2 |
unless setsockopt $self->{'fh'}, 0, 2, pack('I*', $self->{'ttl'}) |
|
246
|
0 |
1 |
if $self->{'family'} and $self->{'family'} != $AF_INET6 |
|
252
|
0 |
1 |
unless socket $self->{'fh'}, $AF_INET6, 3, $self->{'proto_num'} |
|
255
|
0 |
1 |
if ($self->{'gateway'}) |
|
257
|
0 |
0 |
unless my $ip = $self->_resolv($g) |
|
259
|
0 |
0 |
unless $self->{'family'} eq $AF_INET6 |
|
261
|
0 |
0 |
unless $ip->{'family'} eq $AF_INET6 |
|
264
|
0 |
0 |
unless setsockopt $self->{'fh'}, $IPPROTO_IPV6, $IPV6_NEXTHOP, &_pack_sockaddr_in($ip) |
|
267
|
0 |
1 |
if (exists $self->{'IPV6_USE_MIN_MTU'}) |
|
270
|
0 |
0 |
unless setsockopt $self->{'fh'}, $IPPROTO_IPV6, $IPV6_USE_MIN_MTU, pack('I*', $self->{'IPV6_USE_MIN_MT'}) |
|
273
|
0 |
1 |
if (exists $self->{'IPV6_RECVPATHMTU'}) |
|
276
|
0 |
0 |
unless setsockopt $self->{'fh'}, $IPPROTO_IPV6, $IPV6_RECVPATHMTU, pack('I*', $self->{'RECVPATHMTU'}) |
|
279
|
0 |
1 |
if ($self->{'tos'}) |
|
280
|
0 |
0 |
$self->{'family'} == 2 ? : |
|
281
|
0 |
0 |
unless setsockopt $self->{'fh'}, $proto, 1, pack('I*', $self->{'tos'}) |
|
284
|
0 |
1 |
if ($self->{'ttl'}) |
|
285
|
0 |
0 |
$self->{'family'} == 2 ? : |
|
286
|
0 |
0 |
unless setsockopt $self->{'fh'}, $proto, 2, pack('I*', $self->{'ttl'}) |
|
305
|
0 |
8 |
if ($Net::Ping::syn_forking) { } |
|
335
|
0 |
0 |
unless @_ == 2 |
|
337
|
0 |
0 |
if defined $self->{'local_addr'} and $self->{'proto'} eq 'udp' || $self->{'proto'} eq 'icmp' |
|
340
|
0 |
0 |
unless defined $ip |
|
343
|
0 |
0 |
if ($self->{'proto'} ne 'udp' and $self->{'proto'} ne 'icmp' and $self->{'proto'} ne 'tcp' and $self->{'proto'} ne 'syn') |
|
358
|
0 |
63 |
if ($_[3] > 0 and $^O eq 'MSWin32') { } |
|
367
|
0 |
0 |
if $gran > $t |
|
369
|
0 |
0 |
if $nfound == -1 |
|
371
|
0 |
0 |
if $nfound or not defined $nfound or $t <= 0 |
|
379
|
0 |
62 |
if $nfound == -1 |
|
391
|
0 |
0 |
defined $self && ref $self ? : |
|
|
0 |
0 |
unless defined($Net::Ping::source_verify = defined $self && ref $self ? shift() : $self) |
|
403
|
0 |
14 |
unless defined($self->{'econnrefused'} = shift()) |
|
422
|
0 |
0 |
unless $^O eq 'MSWin32' or $^O eq 'cygwin' |
|
423
|
0 |
0 |
unless eval {
do {
require Win32
}
} |
|
424
|
0 |
0 |
unless defined &Win32::IsAdminUser |
|
429
|
0 |
16 |
if ($> and $^O ne 'VMS' and $^O ne 'cygwin' or $^O eq 'MSWin32' || $^O eq 'cygwin' and not _IsAdminUser() or $^O eq 'VMS' and `write sys\$output f\$privilege("SYSPRV")` =~ /FALSE/) { } |
|
448
|
0 |
0 |
if ($on) { } |
|
450
|
0 |
0 |
unless ($reachconf) |
|
454
|
0 |
0 |
unless (_isroot()) |
|
471
|
0 |
0 |
if (defined $on) { } |
|
477
|
0 |
0 |
$on ? : |
|
479
|
0 |
0 |
unless setsockopt $self->{'fh'}, $IPPROTO_IPV6, $IPV6_USE_MIN_MTU, pack('I*', $self->{'IPV6_USE_MIN_MT'}) |
|
493
|
0 |
0 |
if ($on) { } |
|
501
|
0 |
0 |
unless setsockopt $self->{'fh'}, $IPPROTO_IPV6, $IPV6_RECVPATHMTU, pack('I*', $self->{'IPV6_RECVPATHMTU'}) |
|
516
|
3 |
0 |
defined $self && ref $self ? : |
|
|
1 |
2 |
unless defined($Net::Ping::hires = defined $self && ref $self ? shift() : $self) |
|
522
|
108 |
0 |
$Net::Ping::hires ? : |
|
535
|
0 |
81 |
if ($^O eq 'MSWin32' or $^O eq 'VMS') |
|
539
|
0 |
0 |
$block ? : |
|
540
|
0 |
0 |
unless ioctl $fh, $f, $v |
|
543
|
81 |
0 |
if ($flags = fcntl($fh, 3, 0)) { } |
|
544
|
27 |
54 |
$block ? : |
|
545
|
0 |
81 |
if (not fcntl($fh, 4, $flags)) |
|
570
|
0 |
0 |
if not defined $host and $self->{'host'} |
|
571
|
0 |
60 |
if @_ > 4 or not $host |
|
572
|
60 |
0 |
unless $timeout |
|
573
|
0 |
60 |
if $timeout <= 0 |
|
575
|
0 |
60 |
if ($family) { } |
|
576
|
0 |
0 |
if ($family =~ /$qr_family/) { } |
|
577
|
0 |
0 |
if ($family =~ /$qr_family4/) { } |
|
590
|
0 |
60 |
unless defined $ip |
|
594
|
0 |
60 |
if ($self->{'proto'} eq 'external') { } |
|
|
1 |
59 |
elsif ($self->{'proto'} eq 'udp') { } |
|
|
4 |
55 |
elsif ($self->{'proto'} eq 'icmp') { } |
|
|
1 |
54 |
elsif ($self->{'proto'} eq 'icmpv6') { } |
|
|
28 |
26 |
elsif ($self->{'proto'} eq 'tcp') { } |
|
|
0 |
26 |
elsif ($self->{'proto'} eq 'stream') { } |
|
|
26 |
0 |
elsif ($self->{'proto'} eq 'syn') { } |
|
618
|
1 |
58 |
wantarray ? : |
|
629
|
0 |
0 |
if not defined $ip and $self->{'host'} |
|
630
|
0 |
0 |
if not defined $timeout and $self->{'timeout'} |
|
633
|
0 |
0 |
exists $ip->{'addr_in'} ? : |
|
635
|
0 |
0 |
unless eval {
do {
local(@INC) = @INC;
pop @INC if $INC[-1] eq '.';
require Net::Ping::External
}
} |
|
637
|
0 |
0 |
if $INC[-1] eq '.' |
|
671
|
4 |
2 |
unless $self->{'proto'} eq 'icmp' |
|
673
|
1 |
1 |
unless defined $type |
|
676
|
1 |
0 |
unless $type =~ /^echo|timestamp$/i |
|
712
|
0 |
0 |
if not defined $ip and $self->{'host'} |
|
713
|
0 |
0 |
if not defined $timeout and $self->{'timeout'} |
|
714
|
0 |
5 |
$self->{'message_type'} && $self->{'message_type'} eq 'timestamp' ? : |
|
716
|
0 |
5 |
unless socket $self->{'fh'}, $ip->{'family'}, 3, $self->{'proto_num'} |
|
719
|
0 |
5 |
if (defined $self->{'local_addr'} and not CORE::bind($self->{'fh'}, &_pack_sockaddr_in(0, $self->{'local_addr'}))) |
|
727
|
4 |
1 |
if ($ip->{'family'} == 2) { } |
|
728
|
0 |
4 |
if ($timestamp_msg) { } |
|
743
|
4 |
1 |
if ($ip->{'family'} == 2) { } |
|
744
|
0 |
4 |
if ($timestamp_msg) { } |
|
771
|
0 |
9 |
if (not defined $nfound) { } |
|
|
8 |
1 |
elsif ($nfound) { } |
|
785
|
0 |
8 |
if ($from_type == 14) { } |
|
|
4 |
4 |
elsif ($from_type == 0) { } |
|
|
0 |
4 |
elsif ($from_type == 129) { } |
|
786
|
0 |
0 |
if length $recv_msg >= 28 |
|
791
|
4 |
0 |
if $ip->{'family'} == 2 and $recv_msg_len == 28 |
|
793
|
0 |
4 |
if $ip->{'family'} == $AF_INET6 and $recv_msg_len == 8 |
|
801
|
0 |
0 |
if $ip->{'family'} == $AF_INET6 and $recv_msg_len == 8 |
|
807
|
0 |
4 |
if length $recv_msg >= 56 |
|
813
|
4 |
4 |
if $from_pid != $self->{'pid'} |
|
814
|
0 |
4 |
if $from_seq != $self->{'seq'} |
|
815
|
4 |
0 |
if (not $Net::Ping::source_verify or $self->ntop($from_ip) eq $self->ntop($ip)) |
|
816
|
4 |
0 |
if (not $timestamp_msg and $from_type == 0 || $from_type == 129) { } |
|
|
0 |
0 |
elsif ($timestamp_msg and $from_type == 14) { } |
|
|
0 |
0 |
elsif ($from_type == 3 or $from_type == 1) { } |
|
|
0 |
0 |
elsif ($from_type == 11) { } |
|
844
|
0 |
0 |
unless 4 == length $addr |
|
869
|
0 |
5 |
if $len_msg % 2 |
|
894
|
0 |
0 |
if not defined $ip and $self->{'host'} |
|
895
|
0 |
0 |
if not defined $timeout and $self->{'timeout'} |
|
899
|
11 |
16 |
if (not $self->{'econnrefused'} and $! == 111) |
|
915
|
0 |
0 |
if not defined $ip and $self->{'host'} |
|
916
|
0 |
0 |
if not defined $timeout and $self->{'timeout'} |
|
923
|
0 |
28 |
unless socket $self->{'fh'}, $ip->{'family'}, 1, $self->{'proto_num'} |
|
925
|
0 |
28 |
if (defined $self->{'local_addr'} and not CORE::bind($self->{'fh'}, &_pack_sockaddr_in(0, $self->{'local_addr'}))) |
|
942
|
28 |
0 |
if (not connect($self->{'fh'}, $saddr)) { } |
|
943
|
0 |
28 |
if ($! == 111) { } |
|
|
0 |
28 |
elsif ($! != 115 and $^O ne 'MSWin32' || $! != 11) { } |
|
944
|
0 |
0 |
unless $self->{'econnrefused'} |
|
960
|
0 |
28 |
$^O eq 'MSWin32' ? : |
|
964
|
0 |
27 |
unless defined $nfound |
|
966
|
21 |
6 |
if ($nfound and vec $wout, $self->{'fh'}->fileno, 1) { } |
|
971
|
9 |
12 |
if (getpeername $self->{'fh'}) { } |
|
981
|
0 |
12 |
if $! == 11 and $^O =~ /cygwin/i |
|
984
|
11 |
1 |
if not $self->{'econnrefused'} and $! == 111 |
|
989
|
0 |
6 |
if ($^O =~ /MSWin32/) |
|
994
|
0 |
0 |
if ($nfound and vec $wexc, $self->{'fh'}->fileno, 1) |
|
1012
|
0 |
28 |
if ($Net::Ping::syn_forking) { } |
|
1021
|
0 |
0 |
unless ($self->{'tcp_chld'}) |
|
1022
|
0 |
0 |
unless (defined $self->{'tcp_chld'}) |
|
1031
|
0 |
0 |
if (&{$do_connect;}()) { } |
|
1038
|
0 |
0 |
$! <= 255 ? : |
|
1056
|
0 |
0 |
if ($child == $self->{'tcp_chld'}) { } |
|
1057
|
0 |
0 |
if ($self->{'proto'} eq 'stream') |
|
1088
|
0 |
15 |
if ($self->{'proto'} eq 'tcp' and $self->{'tcp_chld'}) |
|
1103
|
0 |
0 |
if not defined $timeout and $self->{'timeout'} |
|
1104
|
0 |
0 |
if not defined $pingstring and $self->{'pingstring'} |
|
1165
|
0 |
0 |
unless (defined $self->{'fh'}->fileno) |
|
1166
|
0 |
0 |
unless $self->tcp_connect($ip, $timeout) |
|
1170
|
0 |
0 |
if $self->{'ip'} ne $ip->{'addr_in'} |
|
1186
|
0 |
0 |
unless defined $host |
|
1188
|
0 |
0 |
if ($family) { } |
|
1189
|
0 |
0 |
if ($family =~ /$qr_family/) { } |
|
1190
|
0 |
0 |
if ($family =~ /$qr_family4/) { } |
|
1202
|
0 |
0 |
unless $timeout |
|
1205
|
0 |
0 |
if ($self->{'proto'} eq 'stream') |
|
1206
|
0 |
0 |
if (defined $self->{'fh'}->fileno) { } |
|
1209
|
0 |
0 |
unless $ip |
|
1219
|
0 |
0 |
if ($IP_DONTFRAG) |
|
1221
|
0 |
0 |
unless setsockopt $self->{'fh'}, 0, $IP_DONTFRAG, pack('I*', $i) |
|
1228
|
0 |
0 |
if ($^O eq 'linux') |
|
1230
|
0 |
0 |
unless setsockopt $self->{'fh'}, 0, 10, pack('I*', $i) |
|
1239
|
0 |
72 |
if ($self->{'device'}) |
|
1240
|
0 |
0 |
unless setsockopt $self->{'fh'}, 1, 25, pack('Z*', $self->{'device'}) |
|
1243
|
2 |
70 |
if ($self->{'tos'}) |
|
1244
|
0 |
2 |
unless setsockopt $self->{'fh'}, 0, 1, pack('I*', $self->{'tos'}) |
|
1247
|
0 |
72 |
if ($self->{'dontfrag'}) |
|
1288
|
0 |
1 |
unless socket $self->{'fh'}, $ip->{'family'}, 2, $self->{'proto_num'} |
|
1291
|
0 |
1 |
if (defined $self->{'local_addr'} and not CORE::bind($self->{'fh'}, &_pack_sockaddr_in(0, $self->{'local_addr'}))) |
|
1298
|
0 |
1 |
if ($self->{'connected'}) { } |
|
1299
|
0 |
0 |
if ($self->{'connected'} ne $saddr) |
|
1315
|
0 |
1 |
if ($flush) |
|
1324
|
1 |
0 |
if ($flush or $connect) |
|
1339
|
1 |
0 |
if ($factor > 1) |
|
1341
|
1 |
0 |
if $timeout > $retrans |
|
1348
|
0 |
1 |
if (not defined $nfound) { } |
|
|
1 |
0 |
elsif ($nfound) { } |
|
|
0 |
0 |
elsif ($timeout <= 0) { } |
|
1357
|
1 |
0 |
if (not $from_saddr) { } |
|
1359
|
1 |
0 |
if (not $self->{'econnrefused'} and $! == 111 || $! == 104) |
|
1369
|
0 |
0 |
ref $ip eq 'HASH' ? : |
|
1370
|
0 |
0 |
if (not $Net::Ping::source_verify or $from_ip eq $addr_in and $from_port == $self->{'port_num'} and $from_msg eq $msg) |
|
1387
|
0 |
0 |
if (send $self->{'fh'}, $msg, 0) { } |
|
1392
|
0 |
0 |
if (not $self->{'econnrefused'} and $! == 111) |
|
1414
|
0 |
26 |
if ($Net::Ping::syn_forking) |
|
1422
|
0 |
26 |
unless (socket $fh, $ip->{'family'}, 1, $self->{'proto_num'}) |
|
1426
|
0 |
26 |
if (defined $self->{'local_addr'} and not CORE::bind($fh, &_pack_sockaddr_in(0, $self->{'local_addr'}))) |
|
1437
|
0 |
26 |
if (connect $fh, $saddr) { } |
|
1444
|
26 |
0 |
if ($! == 115 or $^O eq 'MSWin32' and $! == 11) { } |
|
1456
|
26 |
0 |
if ($self->{'stop_time'} < $stop_time) |
|
1471
|
0 |
0 |
if (defined $pid) { } |
|
1472
|
0 |
0 |
if ($pid) { } |
|
1476
|
0 |
0 |
if ($self->{'stop_time'} < $stop_time) |
|
1484
|
0 |
0 |
unless (socket $self->{'fh'}, $ip->{'family'}, 1, $self->{'proto_num'}) |
|
1488
|
0 |
0 |
if (defined $self->{'local_addr'} and not CORE::bind($self->{'fh'}, &_pack_sockaddr_in(0, $self->{'local_addr'}))) |
|
1520
|
28 |
0 |
if ($self->{'proto'} eq 'syn') |
|
1521
|
0 |
28 |
if ($Net::Ping::syn_forking) |
|
1523
|
0 |
0 |
wantarray ? : |
|
1527
|
8 |
20 |
if (my $host = shift() or $self->{'host'}) { } |
|
1529
|
0 |
8 |
unless defined $host |
|
1530
|
0 |
8 |
if (exists $self->{'bad'}{$host}) |
|
1531
|
0 |
0 |
if (not $self->{'econnrefused'} and $self->{'bad'}{$host} and ($! = 111) > 0 and $self->{'bad'}{$host} eq "$!") { } |
|
1545
|
8 |
10 |
if ($entry->[0] eq $host) |
|
1552
|
0 |
8 |
unless defined $host_fd |
|
1566
|
1 |
24 |
if $timeout <= 0.01 |
|
1573
|
68 |
165 |
if (vec $wout, $fd, 1) |
|
1576
|
68 |
0 |
if (my $entry = $self->{'syn'}{$fd}) |
|
1577
|
0 |
68 |
if ($self->{'bad'}{$entry->[0]}) |
|
1586
|
22 |
3 |
if (defined $winner_fd or my $nfound = mselect(undef, $wout = $wbits, undef, $timeout)) { } |
|
|
3 |
0 |
elsif (defined $nfound) { } |
|
1587
|
0 |
22 |
if (defined $winner_fd) { } |
|
1598
|
22 |
0 |
if (my $entry = $self->{'syn'}{$fd}) { } |
|
1603
|
0 |
22 |
if (not $self->{'econnrefused'} and $self->{'bad'}{$entry->[0]} and ($! = 111) > 0 and $self->{'bad'}{$entry->[0]} eq "$!") { } |
|
|
19 |
3 |
elsif (getpeername $entry->[2]) { } |
|
1621
|
2 |
1 |
if (not $self->{'econnrefused'} and $! == 111 || $! == 11 && $^O =~ /cygwin/i) { } |
|
1633
|
6 |
15 |
wantarray ? : |
|
1643
|
4 |
6 |
if (vec $wbits, $fd, 1) |
|
1665
|
0 |
0 |
if ($host) |
|
1667
|
0 |
0 |
if (my $entry = $self->{'good'}{$host}) |
|
1676
|
0 |
0 |
if (keys %{$$self{'syn'};}) { } |
|
1681
|
0 |
0 |
if $timeout < 0.01 |
|
1687
|
0 |
0 |
if ($timeout > 0) |
|
1692
|
0 |
0 |
unless (sysread $self->{'fork_rd'}, $_, 16) |
|
1697
|
0 |
0 |
if ($pid) { } |
|
1700
|
0 |
0 |
if (my $entry = $self->{'syn'}{$pid}) { } |
|
1703
|
0 |
0 |
if (not $how or not $self->{'econnrefused'} and $how == 111) |
|
1706
|
0 |
0 |
if ($host and $entry->[0] ne $host) |
|
1723
|
0 |
0 |
if (defined $nfound) { } |
|
1730
|
0 |
0 |
if (my(@synners) = keys %{$$self{'syn'};}) |
|
1756
|
0 |
3 |
if ($self->{'proto'} eq 'syn') { } |
|
|
0 |
3 |
elsif ($self->{'proto'} eq 'tcp') { } |
|
|
0 |
3 |
elsif ($self->{'proto'} eq 'external') { } |
|
1769
|
8 |
0 |
if (@_) |
|
1788
|
0 |
15 |
if $error |
|
1796
|
0 |
0 |
unless (defined $host) |
|
1797
|
0 |
0 |
unless (defined $port and $port =~ /^\d+$/) |
|
1833
|
60 |
0 |
if (defined $self->{'family_local'}) |
|
1844
|
59 |
1 |
if ($cnt == 0) { } |
|
|
0 |
1 |
elsif ($cnt == 1) { } |
|
|
1 |
0 |
elsif ($cnt >= 2) { } |
|
1852
|
0 |
1 |
if ($name =~ /^\[.*\]:\d{1,5}$/) { } |
|
1864
|
0 |
0 |
if (defined $h{'port'} and !($h{'port'} =~ /^\d{1,5}$/) || $h{'port'} < 1 || $h{'port'} > 65535) |
|
1872
|
60 |
0 |
if ($Socket_VERSION > 1.94) { } |
|
1881
|
33 |
27 |
if (defined $getaddr[0]) |
|
1884
|
32 |
1 |
if ($h{'family'} == 2) { } |
|
1895
|
0 |
0 |
if (defined $ret and _inet_ntoa($ret) eq $h{'host'}) |
|
1905
|
27 |
0 |
if ($Socket_VERSION >= 1.94) { } |
|
1912
|
27 |
0 |
if (defined $getaddr[0]) { } |
|
1914
|
27 |
0 |
if (defined $address) { } |
|
1918
|
27 |
0 |
if ($h{'family'} == 2) { } |
|
1929
|
0 |
0 |
$family == 2 ? : |
|
1935
|
0 |
0 |
if ($family == $AF_INET6) |
|
1941
|
0 |
0 |
if (defined $gethost[4]) { } |
|
1959
|
71 |
4 |
ref $ip eq 'HASH' ? : |
|
1960
|
74 |
1 |
if (length $addr <= 4) { } |
|
1973
|
8 |
0 |
if ($family == 2 or not defined $family and length $addr <= 16) { } |
|
1986
|
0 |
0 |
if ($Socket_VERSION >= 1.94) { } |
|
1988
|
0 |
0 |
if (defined $address) { } |