sub custom_export_device_summary { my $filename = "$HOME_TMP/device-summary.csv"; my %data; my $OUT; for my $line (adb_result ("mget text * sys *")) { my ($dev, $child, $attr, undef, $val) = split (" ", $line, 5); $attr =~ s/^SNMPv2-MIB\.//img; $data{$dev}{$attr} = $val; } for my $line (adb_result ("mget uptime * sys *")) { my ($dev, $child, $attr, undef, $val) = split (" ", $line, 5); my ($uptime, $utime) = split (",", $val); $attr =~ s/^SNMPv2-MIB\.//img; $data{$dev}{$attr} = $uptime; } for my $line (adb_result ("mtime device *")) { my ($dev, undef, $val) = split (" ", $line, 5); my ($ctime, $mtime, $utime) = split (",", $val); $data{$dev}{ctime} = $ctime; } open ($OUT, ">", "$filename.tmp") or EXIT_FATAL ("Can't open $filename.tmp: $!"); for my $dev (nat_sort keys %data) { my $uptime_sec = ""; if (defined $data{$dev}{sysUpTime}) { $uptime_sec = time () - $data{$dev}{sysUpTime}; } printf $OUT "%s,%s,%s,%s,%s,%s,%d,%s,\"%s\",%s,\"%s\"\n", $dev, $data{$dev}{ip4addr} || "", $data{$dev}{ip6addr} || "", $data{$dev}{sysUpTime} || "", $uptime_sec, time_elapsed ($data{$dev}{sysUpTime} || ""), $data{$dev}{ctime}, date_fmt ($data{$dev}{ctime}, "yyyymmddhhmmss"), $data{$dev}{sysLocation} || "", $data{$dev}{sysObjectID} || "", $data{$dev}{sysDescr} || ""; } close $OUT; rename ("$filename.tmp", $filename); }