lib/SI/system.pm
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";
 }