


Parse::DMIDecodUser Contributed Perl DocumentaParse::DMIDecode(3)


NAME
       Parse::DMIDecode - Interface to SMBIOS 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.

METHODS
   new
        my $decoder = Parse::DMIDecode->new(
                            dmidecode => "/usr/sbin/dmidecode",
                            nowarnings => 1,
                        );

       This is the constructor method to create a Parse::DMIDeocde object. It
       accepts two optional arguments; "dmidecode" and "nowarnings".

       The "dmidecode" argument specifies the full path and filename of the
       dmodecode command that should used by the "probe" method.

       The "nowarnings" argument instructs Parse::DMIDecode not to emit any
       parser warnings.

   probe
        $decoder->probe;

       This method executes an active probe to gather information using the
       dmidecode command. It does not accept any arguments.

   parse
        my $raw = qx(sudo /usr/sbin/dmidecode);
        $decoder->prase($raw);

       This method is a passive alternative to the "probe" method. It accepts
       a single string argument which should contain output from the dmidecode
       command, which it will parse.





perl v5.12.2                2011-02-23                          1





Parse::DMIDecodUser Contributed Perl DocumentaParse::DMIDecode(3)


   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
                );
        }

       See Parse::DMIDecode::Handle for accessor method documentation for
       handle objects.

   smbios_version
        my $smbios_version = $decoder->smbios_version;

       Returns the SMBIOS version number.

   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
       Parse::DMIDecode::Handle, Parse::DMIDecode::Constants,
       Parse::DMIDecode::Examples, examples/*.pl,



perl v5.12.2                2011-02-23                          2





Parse::DMIDecodUser Contributed Perl DocumentaParse::DMIDecode(3)


       http://search.cpan.org/src/NICOLAW/Parse-DMIDecode-0.03/examples/
       <http://search.cpan.org/src/NICOLAW/Parse-DMIDecode-0.03/examples/>,
       <http://www.nongnu.org/dmidecode/>, <http://linux.dell.com/libsmbios/>,
       <http://sourceforge.net/projects/x86info/>,
       <http://www.dmtf.org/standards/smbios>, biosdecode(8), dmidecode(8),
       vpddecode(8)

VERSION
       $Id: DMIDecode.pm 1004 2007-03-11 12:43:25Z nicolaw $

AUTHOR
       Nicola Worthington <nicolaw@cpan.org>

       <http://perlgirl.org.uk>

       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>?  (
       http://www.amazon.co.uk/gp/registry/1VZXC59ESWYK0?sort=priority )

COPYRIGHT
       Copyright 2006,2007 Nicola Worthington.

       This software is licensed under The Apache Software License, Version
       2.0.

       http://www.apache.org/licenses/LICENSE-2.0
       <http://www.apache.org/licenses/LICENSE-2.0>





























perl v5.12.2                2011-02-23                          3


