Perl x Open Food Facts Hackathon: Paris, France - May 24-25 Learn more

################################################################################
sub get_mac {
my ($ip) = @_;
$ip ||= $ENV {REMOTE_ADDR};
my $cmd = $^O eq 'MSWin32' ? 'arp -a' : 'arp -an';
my $arp = '';
eval {$arp = lc `$cmd`};
$arp or return '';
foreach my $line (split /\n/, $arp) {
$line =~ /\($ip\)/ or next;
if ($line =~ /[0-9a-f]{2}\:[0-9a-f]{2}\:[0-9a-f]{2}\:[0-9a-f]{2}\:[0-9a-f]{2}\:[0-9a-f]{2}/) {
return $&;
}
}
return '';
}
1;