Bonjour,

sous strawberry je souhaite faire des tests de ping pour vérifier la présence d'équipement avec le module "Net:ing::External" ("Net:ing" 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 : Sélectionner tout - Visualiser dans une fenêtre à part
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 : Sélectionner tout - Visualiser dans une fenêtre à part
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 ?

Merci.