NAME
Parse::DMIDecode - Interface to SMBIOS under Linux using dmidecode
SYNOPSIS
use strict;
use Parse::DMIDecode ();
my $decoder = new Parse::DMIDecode;
$decoder->probe; # Actively probe using dmidecode
# Manually supply your own dmidecode output to be parsed
# $decoder->parse(qx(sudo /usr/sbin/dmidecode));
printf("System: %s, %s",
$decoder->keyword("system-manufacturer"),
$decoder->keyword("system-product-name"),
);
DESCRIPTION
This module provides an OO interface to SMBIOS information through the
*dmidecode* command which is known to work under a number of Linux, BSD
and BeOS variants.
This module is still actively under development, is no not yet feature
complete and still needs to be fully documented. There is a possibility
accessor method names may change before the final release.
METHODS
new
my $decoder = Parse::DMIDecode->new(
dmidecode => "/usr/sbin/dmidecode"),
nowarnings => 1
);
probe
$decoder->probe;
parse
my $raw = qx(sudo /usr/sbin/dmidecode);
$decoder->prase($raw);
keyword
my $serial_number = $decoder->keyword("system-serial-number");
keywords
my @keywords = $decoder->keywords;
my @bios_keywords = $decoder->keywords("bios");
for my $keyword (@bios_keywords) {
printf("%s => %s\n",
$keyword,
$decoder->keyword($keyword)
);
}
handle_addresses
my @addresses = $decoder->handle_addresses;
get_handles
use Parse::DMIDecode::Constants qw(@TYPES);
# Available groups to query: bios, system, baseboard,
# chassis, processor, memory, cache, connector, slot
for my $handle ($decoder->get_handles( group => "memory" )) {
printf(">> Found handle at %s (%s):\n%s\n",
$handle->address,
$TYPES[$handle->dmitype],
$handle->raw
);
}
smbios_version
my $smbios_version = $decoder->smbios_version;
dmidecode_version
my $dmidecode_version = $decoder->dmidecode_version;
Returns the version number of the copy of *dmidecode* that was used to
create the source data that was parsed. This value may not be available
when using older versions of *dmidecode*.
table_location
my $memory_address = $decoder->table_location;
structures
my $total_structures = $decoder->structures;
SEE ALSO
examples/*.pl, ,
,
,
, biosdecode(8), dmidecode(8),
vpddecode(8)
VERSION
$Id: DMIDecode.pm 803 2006-10-22 11:36:22Z nicolaw $
AUTHOR
Nicola Worthington
If you like this software, why not show your appreciation by sending the
author something nice from her Amazon wishlist? (
http://www.amazon.co.uk/gp/registry/1VZXC59ESWYK0?sort=priority )
COPYRIGHT
Copyright 2006 Nicola Worthington.
This software is licensed under The Apache Software License, Version
2.0.