changeset 29 | 4e40cf0eba95 |
parent 28 | 7d7ca3f05f25 |
--- a/lib/SI/system.pm Wed Jan 20 21:52:01 2010 +0100 +++ b/lib/SI/system.pm Wed Jan 20 22:29:06 2010 +0100 @@ -10,10 +10,14 @@ sub id() { - # hope it's eth* or wlan* - local $_ = (sort grep { /^(eth|wlan)/ } `ifconfig -a`)[0]; - /^(?<dev>\S+)\s.*HWaddr\s+(?<mac>[\da-f:]+)\s*$/i + $_ = `ip link`; + s/\n\s+/ /g; + s/^\d+:\s*//mg; + + (sort grep /^(eth|wlan)/, split /\n/, $_)[0] + =~ /link\/ether\s+(?<mac>\S+)/ and return $+{mac}; + die "ERR: Can't get system identification (MAC address)\n"; }