while (<IFINFO>) {
/^(\\S+)\\s+Link encap:Ethernet\\s+HWaddr\\s+(\\S+)/ && do {
$interfaces{$1}{\"hwaddr\"} = $2;
$current = $1;
next;
};
/^lo/ && do {
$current = \"\";
next;
};
next if (!$current);
/inet addr[\\d\\.]+)/ && do {$interfaces{$current}{\"ipaddr\"} = $1;};
/Mask[\\d\\.]+)/ && do {$interfaces{$current}{\"mask\"} = $1;};
}
close(IFINFO);
open (DNSINFO,\'/etc/resolv.conf\') || die \"Can\'t open /etc/resolv.conf: $!\\n\";
while (<DNSINFO>) {
/^domain (\\S+)/ && do { $dnsdomain = $1; };
/^search (.+)/ && do { @dnssearch = split / /,$1; };
/^nameserver (\\S+)/ && do { push @dnssrv,$1; };
}
close (DNSINFO);
open (ROUTEINFO,\'netstat -rn|\') || die \"Can\'t run netstat: $!\\n\";
while (<ROUTEINFO>) {
/0\\.0\\.0\\.0\\s+(\\S+)\\s+\\S+\\s+UG\\s+\\d+\\s+\\d+\\s+\\d+\\s+(\\S+)/ && do {
$gateway = $1;
$gateint = $2;
};
}
close (ROUTEINFO);