Net::Ping::External problème subroutine
Bonjour,
sous strawberry je souhaite faire des tests de ping pour vérifier la présence d'équipement avec le module "Net::Ping::External" ("Net::Ping" sous strawberry ne fonctionne pas à priori pour l'icmp et des équipements ne répondent pas au requêtes TCP par défaut port 7).
Quand je fais des tests simple, ca fonctionne.
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
| use strict;
use strict;
use warnings;
use feature 'say';
use Data::Dumper;
no warnings 'uninitialized';
use Net::Ping::External qw(ping);
my $IP = '10.80.20.252';
my $p = ping(host => "$IP");
if ($p eq 1) {
print "$p is alive\n";
} else {
print "$p is unreacheable\n";
} |
Résultat:
C:\XXX>perl test.pl
0 is unreacheable
## Avec une autre IP destination ##
C:\XXX>perl test.pl
1 is alive
Quand je veux l'utiliser dans une subroutine pour des besoins futurs ca me plante strawberry, toute la mémoire est utilisée.
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21
| use strict;
use warnings;
use feature 'say';
use Data::Dumper;
no warnings 'uninitialized';);
use Net::Ping::External qw(ping);
my $IP = '10.80.20.252';
sub ping {
my $PI = shift;
my $p = ping(host => "$IP");
if ($p eq 1) {
print "$p is alive\n";
} else {
print "$p is unreacheable\n";
}
}
ping($IP); |
Résultat:
C:\XXX\SCRIPT>perl test.pl
Subroutine ping redefined at test.pl line 11.
Deep recursion on subroutine "main::ping" at test.pl line 13.
10.80.20.252
Cela vient du module ou j'ai raté quelque chose ? :weird:
Merci.