Codebase list libparse-dmidecode-perl / upstream/0.03+git20210205.1.c414cae
upstream/0.03+git20210205.1.c414cae

Tree @upstream/0.03+git20210205.1.c414cae (Download .tar.gz)

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.

 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,
    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